python - 提高使用python在字符串问题中查找第一个非重复字符的效率
问题描述
我试图了解,回答这个问题的最佳方法是什么。我的尝试如下,我能够通过所有测试用例,但我不确定这是否是编写答案以及最节省时间和空间的最佳方式。
另外,我使用了 OrderedDict() ,因为我试图返回第一个字符。在这个问题中使用 OrderedDict() 而不是 dict() 是否有任何权衡?以前,我使用 dict() 尝试过这个问题,它仍然能够通过所有测试用例,但我认为情况并非总是如此,因为这本字典中的项目是无序的?
此外,由于我们正在遍历字符串 s 的每个字符,因此该解决方案的时间复杂度是否低于 O(n)?
def firstNotRepeatingCharacter(s):
d1=OrderedDict()
for i in s:
if i not in d1:
d1[i]=0
if i in d1:
d1[i]=d1[i]+1
for x, y in d1.items():
if y==1:
return x
return "_"
解决方案
推荐阅读
- python - 如何将这些值从 txt 导入到我的循环中?
- php - 如果在表单上一一检查或未检查,如何获取数组值?
- jquery - 在 jqgrid 中发送 post 请求并显示数据
- programming-languages - 允许对不同参数值进行单独功能实现的功能的名称是什么?
- c# - Dapper - 将 int 列表传递给存储过程
- ruby-on-rails - 如何检查 URL 中的单词 logo?
- android - Android Studio 将我的小部件标记为不兼容的类型
- javascript - 使用 D3 访问嵌套的 JSON 数据
- python - 将 url 读入 luigi 参数
- python - 将一张图像与 Cloudinary 存储进行比较