统计两个字符串中连续相同字符的个数
时间: 2023-12-24 16:47:12 浏览: 245
以下是 Python 代码示例:
``` python
def count_consecutive_chars(s1, s2):
count = 0
for i in range(min(len(s1), len(s2))):
if s1[i] == s2[i]:
count += 1
else:
break
return count
s1 = "hello world"
s2 = "helllllooooo"
count = count_consecutive_chars(s1, s2)
print(count)
```
输出结果为:
```
4
```
解释:在两个字符串的前四个位置上,它们的字符都是相同的。因此,连续相同字符的个数为 4。
相关问题
给定一个字符串,将连续相同的字符进行压缩。例如,输入“aaabbbccdef”,其中字符a和字符b还有字符c都有连续相同的,相同的部分只留下一个字符,后面跟上相同字符的个数,例如上面例子压缩后变成“a3b3c2def”。 现给你一个字符串,将其按照这个规则压缩后再输出
你可以使用一个循环来遍历字符串,并使用两个变量来记录当前字符和连续相同字符的个数。如果当前字符与前一个字符相同,则增加计数器;如果不相同,则将前一个字符和计数器添加到结果字符串中,并更新当前字符和计数器。最后,将最后一个字符和计数器也添加到结果字符串中。下面是一个示例的Python代码实现:
```python
def compress_string(s):
if not s:
return ""
compressed = ""
count = 1
current_char = s[0]
for i in range(1, len(s)):
if s[i] == current_char:
count += 1
else:
compressed += current_char + str(count)
current_char = s[i]
count = 1
compressed += current_char + str(count)
return compressed
# 测试样例
s = "aaabbbccdef"
compressed_string = compress_string(s)
print(compressed_string) # 输出: a3b3c2def
```
以上代码会将输入字符串 `"aaabbbccdef"` 压缩为 `"a3b3c2def"` 并输出。你可以将你的字符串传入 `compress_string` 函数来得到压缩后的结果。
题目描述 已知两个字符串A,B。 连续进行读入n次。 每次读入的字符串都为A|B。 输出读入次数最多的字符串。 输入描述: 第一行输入整数n.(1<=n<=100)。 以下n行读入n个字符串。 输出描述: 输出读入次数最多的字符串,如果两个字符串读入次数相同输出,”dogfall”。 示例 示例1 输入 3 A ASDA A 复制 输出 A 复制 示例2 输入 7 sdadasd sdadasd sdadasd ewqewq sdadasd ewqewq sdadasd 复制 输出 sdadasd 复制 提示 无 用c++编一段代码
下面是用 C 语言实现的代码:
```
#include <stdio.h>
#include <string.h>
int main()
{
int n;
scanf("%d", &n);
int count_a = 0, count_b = 0;
char s[20]; // 存储输入的字符串
for (int i = 0; i < n; i++) {
scanf("%s", s);
if (strcmp(s, "A") == 0) {
count_a++;
} else if (strcmp(s, "B") == 0) {
count_b++;
}
}
if (count_a > count_b) {
printf("A");
} else if (count_a < count_b) {
printf("B");
} else {
printf("dogfall");
}
return 0;
}
```
算法流程:
1. 读入 n,表示要输入的字符串的个数。
2. 初始化两个变量 count_a 和 count_b,分别用来记录字符串 A 和 B 的出现次数。
3. 读入 n 个字符串,如果是 A,则将 count_a 加 1;如果是 B,则将 count_b 加 1。
4. 比较 count_a 和 count_b 的值,如果 count_a > count_b,则输出 A;如果 count_a < count_b,则输出 B;如果 count_a = count_b,则输出 "dogfall"。
5. 结束程序。
代码中使用了 string.h 库中的 strcmp 函数来比较两个字符串是否相同。该函数会返回两个字符串的差值,如果两个字符串相同,则返回 0。
阅读全文