javascript - 确定一个字符串是否是另一个字符串的子集的时间复杂度
问题描述
确定一个字符串是否是另一个字符串的子集的 Big-O 是什么?换句话说,一个字符串是否包含另一个字符串的所有字符?
例如A = 'string'
B = 'gti'
,B
是 的子集A
。
我的方法是使用所有字符A
来创建地图。然后,迭代B
以与 Map 进行交叉检查。这种方法的大 O 是O(m + n)
. 这是我能得到的最好的最坏情况时间复杂度吗?
解决方案
除非您可以在不(在最坏的情况下)至少检查每个字符串的每个字符的情况下解决问题,否则您不能做得比 O(m+n) 更好(假设 m & n 是 2 个字符串长度)。
推荐阅读
- time - 交易视图上时间戳的 Pine 脚本代码不会过滤我希望它查看的日期。我该如何调整这个?
- cookies - 使用多个 http 客户端时“共享”令牌 cookie
- ssh - 无法通过 ssh 连接到设备(仅在 Widonws10、Linux 和 MacO 上可以正常工作)
- winapi - C++ 打开一个文件以获取对话框然后如何导航到某个选项卡?
- kivy - 将 KivyMD 与 kivy-ios 一起使用时不显示图标
- ios - iOS Swift - UISlider - 添加第二个轨迹栏
- selenium - 如何将webdriver传递给selenium中页面对象模型中的其他页面
- php - 在我的 laravel 应用程序中单击博客文章上的显示更多按钮时,如何通过其 ID 显示特定的博客文章?
- ansible-awx - 在 Docker AWX 上安装 pynetbox
- python - 如何在tkinter中指定多个按钮的排列位置