gpt4 book ai didi

c - 过滤掉字符串列表

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

给定一个字符串列表,例如[boo,koo,kool]

您尝试过滤掉所有字符串中出现的字符,并进一步过滤掉出现相同次数的字符,因此在上面的情况下您将返回 oo

在我的方法中,我考虑首先为第一个字符串中的所有唯一字母创建一个结构,并保留它们的计数,然后与每个其他字符串进行比较。我认为就运行时间而言这可能有点过分了。谁能建议更好的方法?

最佳答案

您已经有一个可以使用的结构体,它的类型“char”存储 -128 到 128 个值。也许每个单词的整数数组就可以解决这个问题,您可以使用在字符串中找到的字符来索引该数组。

#define NUMWORDS 10  // assuming 10 words in list


int CountOfChars[NUMWORDS][256];

for each string n in list
{
for each char c in string n
{
CountOfChars[n][c]++;
}
}

然后分析每个 CountOfChars 数组以查找 >=2 的计数您可以使用这样的循环:

char SetFlag;

for each char c in the system // a - z, A - Z
{
SetFlag = 0;
if (CountOfChars[0][c]>1)
{
for each string n in list except the first word
{
if (CountOfChars[n][c]>1)
SetFlag = c;
else
SetFlag = 0;
}
}
if (SetFlag)
printf("%c",SetFlag); // prints a char found twice in all words

}

我将其保留为伪代码,因为它听起来像家庭作业,希望这能让您开始

关于c - 过滤掉字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26536881/

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