嗨,这是一个关于哈希的 java 练习。首先,我们有一个包含 N 个字符串的数组(1<=N<=100000),程序将找到包含原始数组中存在的所有不同字符串的连续子序列的最小长度。
例如,原始数组是 {apple,orange,orange pear,pear apple,pear}
连续子数组可以是 {orange, pear, pear, apple}
所以答案是 19
我编写了一个代码,它访问数组中的每个元素并创建一个新的哈希表来查找包含所有不同字符串的子数组的长度。一旦N大于1000,它就会变得非常非常慢。所以我希望有一个更快的算法。谢谢!