给出N个字符串。任务是计算每个给定字符串中是否包含任何字符(只能为一个)。
我不知道如何遍历循环并在每个字符串中搜索字符。
答案 0 :(得分:1)
为每个字符串创建一个APP_PLATFORM := android-23
APP_ABI := all
并填充其内容,当所有操作都完成后,遍历一个set<char>
并检查其他所有set
中是否也存在谁的字符。
在一组中,元素仅出现一次,并且由于它们是有序的,因此搜索/插入速度很快
我没有给出(平凡的)代码,因为您说您不想要它。
当您填充第n个sets
时,您也可以先检查字符是否也出现在第n-1个其他set
中,然后再添加该字符以限制sets
的大小,但不确定这是真正的优化(最终检查仍然是必需的)
如果字符串的数目小于或等于 unsigned long 的位数,则以其他方式:将一个位与每个字符串关联:第一个为0,第二个为1 ...,然后使用sets
或vector<unsigned long>
,并为每个字符串的每个字符在与char对应的索引处设置第n位。最后,检查向量,看看该值是否设置了所有必需的位