按照它们在线性时间内发生的顺序对字符串中的字母进行排序吗?
例如,boyhood
将排序为boooyhd
。
答案 0 :(得分:1)
是的,这是python中的O(2n)解决方案:
import sys
word = raw_input("Enter string to sort:")
wordDict = {}
for letter in word:
if letter in wordDict:
wordDict[letter] = wordDict[letter] + 1
else:
wordDict[letter] = 1
for letter in word:
sys.stdout.write(letter*wordDict[letter])
wordDict[letter] = 0