如果字符串1和字符串2的大小相等,我们将如何找到一定数量的常用字符并将其存储到int中?
例如:
string A = "abcdabc"
string B = "cabzabc"
常见字符数是7个字符中的6个(重复字符数)。
到目前为止,我有:
int count = 0;
for(int I = 0; I < A.size(); I++)
{
if(A[I] == B[I]
{
count++;
}
}
但是当我输出时,其= 0。
编辑:让它工作的人,我的初始化字符串出了点问题,但现在很好!谢谢。
答案 0 :(得分:1)
您当前正在计算的是这两个char数组在特定索引上是否具有相同字符。这显然不是您想要的。 一些选项: 1.创建地图并存储每个字母的出现次数,然后进行比较 2.遍历一个数组,并为其中的每个字符遍历完整的其他数组并计数出现次数 3.按字母顺序对这些数组进行排序,您将看到每个字母在它们中出现多少次
编辑:让我们遍历您的代码:
I = 0; A[I] = 'a'; B[I] = 'c' //are they the same? count = 0
I = 1; A[I] = 'b'; B[I] = 'a' //are they the same? count = 0
I = 2; A[I] = 'c'; B[I] = 'b' //are they the same? count = 0
I = 3; A[I] = 'd'; B[I] = 'z' //are they the same? count = 0
I = 4; A[I] = 'a'; B[I] = 'a' //are they the same? count = 1
I = 5; A[I] = 'b'; B[I] = 'b' //are they the same? count = 2
I = 6; A[I] = 'c'; B[I] = 'c' //are they the same? count = 3