gpt4 book ai didi

c - 搜索检查字符串匹配的算法

转载 作者:行者123 更新时间:2023-11-30 21:13:21 25 4
gpt4 key购买 nike

我有两个长度相同的字符串ab,分别是l1l2。我想返回给定两个字符串的常见字母数。例如,a='ABC'b='CDE'。我的算法应该返回 1,因为只有 'C' 是两个字符串中的公共(public)字母,但它返回 26。谁能解释一下为什么吗?这是我的算法:

for(i=0; i < l1; i++)
{
for(j=0; j < l2; j++)
{
if(a[i] == b[j])
{
found++;
}
}
}

最佳答案

您的算法不符合您的标准。很容易看出如果字符串是“CCC”会发生什么。

这样做:

int letters[26]={0};
int both[26]={0};

for(int i=0; i<l1; i++)
letters[a[i]-'A']=1;

for(int i=0; i<l2; i++)
if(letters[b[i]-'A'])
both[b[i]-'A']=1;

int found=0;

for(int i=0; i<26; i++)
found+=both[i];

关于c - 搜索检查字符串匹配的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45257844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com