遍历字符串以检查每个字符串中是否存在字符外观

时间:2019-02-01 16:21:12

标签: c++ string c++14

给出N个字符串。任务是计算每个给定字符串中是否包含任何字符(只能为一个)。

我不知道如何遍历循环并在每个字符串中搜索字符。

1 个答案:

答案 0 :(得分:1)

为每个字符串创建一个APP_PLATFORM := android-23 APP_ABI := all 并填充其内容,当所有操作都完成后,遍历一个set<char>并检查其他所有set中是否也存在谁的字符。

在一组中,元素仅出现一次,并且由于它们是有序的,因此搜索/插入速度很快

我没有给出(平凡的)代码,因为您说您不想要它。

当您填充第n个sets时,您也可以先检查字符是否也出现在第n-1个其他set中,然后再添加该字符以限制sets的大小,但不确定这是真正的优化(最终检查仍然是必需的)


如果字符串的数目小于或等于 unsigned long 的位数,则以其他方式:将一个位与每个字符串关联:第一个为0,第二个为1 ...,然后使用setsvector<unsigned long>,并为每个字符串的每个字符在与char对应的索引处设置第n位。最后,检查向量,看看该值是否设置了所有必需的位