in
in

运行效果如下图所示:

但这种方式有一个弊端,就是要遍历整个字符串数组。如果数组里面有100万条数据,那么平均要遍历50万次才能找到。这是一个非常费时间的操作。

有没有什么办法可以优化这个操作呢?

O(n)
sortsort.Strings()

结合两个函数,我们可以实现一个更高效的算法:

运行效果如下图所示:

sort.Stringsstr_arraystr_array

通过先排序再查询的方式,对于100万个元素的字符串数组,只需要查询20次左右就能确认字符串是否存在。速度大大提升。

name_listname_list

参考资料

[1]

sort.SearchStrings()