gpt4 book ai didi

string - 确定字符串是否包含字符的最快方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:38:47 26 4
gpt4 key购买 nike

我有一个由 unicode 字符组成的字符串。同一个字符只能出现一次。字符串的长度在 1 到 ~50 之间。

检查特定字符是否在字符串中的最快方法是什么?

迭代字符串不是一个好的选择,不是吗?是否有任何有效的算法可用于此目的?

我的第一个想法是让字符串中的字符按字母顺序排序。它可以被快速搜索,但是 unicode 字符的排序和比较并不是那么简单(使用正确的排序规则)并且它有很大的成本,可能比迭代整个字符串更大。

也许一些散列?也许迭代是最快的方法?

有什么想法吗?

最佳答案

如果没有预处理,最简单和最快的方法是遍历字符。

如果有预处理,以前的方法可能仍然是最好的,或者你可以尝试一个小的哈希表来存储一个字符串是否包含该字符。存储散列将占用额外的空间,但对于内存缓存可能更好(散列冲突低并且假设您不必访问实际的字符串)。确保衡量性能。

我有一种感觉,您正试图过度设计一项非常简单的任务。您是否已确认这是您应用程序中的瓶颈?

关于string - 确定字符串是否包含字符的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18835536/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com