超过百万字符串列表中的成对字符串是否相反?

ami*_*ati 7 string reverse

最近在一些采访中被问到"如果存在于超过百万字符串的列表中,如何找到所有字符串的反转?

对于Eg str [1] ="abc",我需要准确检查"cba",没有字谜.

方法1.将所有字符串存储在哈希集中,从第一个字符串开始遍历并检查Hashset中是否存在反转形式.如果是,那么对else移动到下一个元素.

如果内存是约束,你能建议任何方法吗?

Ser*_*lis 1

您可以使用布隆过滤器,它会告诉您类似哈希表的结构中是否已存在字符串,但每个存储桶只有 0 或 1,因此使用的空间非常少。

恰好 1 000 000 位 == 125 KB