【发布时间】:2011-04-18 01:57:59
【问题描述】:
这是我的要求:
- 输入:足够长的随机字符串 ex:
fdjhkajajkfdj - 输出:
fdj出现 2 次,由x字符分隔
我想将所有三个字母的单词放在一个数组中并检查它们是否相同 例如:
a[0] = fdj
a[1] = djh
a[2] = jhk
a[3] = hka
a[4] = kaj
.
.
.
a[n] =fdj
我的答案是a[0] 和a[n] 匹配,可能出现2 次以上。
问题:那么我应该使用哪种阵列在这种情况下是最佳的。我正在使用 Java(还有 python)。我在想字典。
【问题讨论】:
-
我认为您的方法可能比简单地遍历字符串并进行查找效率低。你有什么理由需要以这种方式存储三个字母的单词?
-
aaaa 会在 [0] 和 [1] 处返回匹配项吗?如果没有重叠,解决方案会发生变化。在 [3]、[20] 和 [33] 中找到的“aaa”的确切输出是什么?
-
@JoshD:我不必存储任何字母,但只能找到重复项。 @Tony:我想要两个序列之间的距离。所以预期的输出是在 3、20 和 33 处找到的 aaa。