我正在使用Hackerrank进行Python 3学习.
在最常见的任务中,您将获得一个仅包含小写英文字符的字符串,您需要在该字符串中找到前三个最常见的字符.
我遇到了一些问题.
我对此问题的解决方案如下:
#!/bin/python3
import sys
if __name__ == "__main__":
s = input().strip()
ch_dict = {}
for ch in s:
if ch in ch_dict : ch_dict[ch] +=1
else: ch_dict[ch] = 1
result = sorted(ch_dict.items(),key=lambda d:d[1],reverse=True)
for i in result:
if i[1] != 1:
print(" ".join(map(str,i)))
Run Code Online (Sandbox Code Playgroud)
当我在本地环境中测试此代码时,它可以工作!
但在线测试中,它可能会失败!
对于此输入:
aabbbccde
Run Code Online (Sandbox Code Playgroud)
我提交了很多次,有时得到这样的正确答案:
b 3
a 2
c 2
Run Code Online (Sandbox Code Playgroud)
并且还可以得到这个:
b 3
c 2
a 2
Run Code Online (Sandbox Code Playgroud)
看起来好像不稳定?或者我的代码有什么关系?或者在Hackerrank环境中出了什么问题?
我怎样才能保证输出?