题解 | 字符串排序
字符串排序
https://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723
import sys
n=int(input())
words=[input().split()[0] for i in range(n)]
for word in sorted(words):
print(word)
'''import sys
n=int(input())
words=[input().split()[0] for i in range(n)]
max_len=0
for word in words:
if max_len<len(word):
max_len=len(word)
#print(min(3,5))
for i in range(max_len):
for j in range(n):
for k in range(j+1,n):
if(i<len(words[k]) or i<len(words[j])):
if(i<len(words[k]) and i<len(words[j])):
if words[j][i] >words[k][i] :
if i==0:
temp=words[j]
words[j]=words[k]
words[k]=temp
else:
if(words[j][0:i]==words[k][0:i]):
temp=words[j]
words[j]=words[k]
words[k]=temp
elif (i-min(len(words[k]),len(words[j])))==0:
if i==0:
if(len(words[k])>len(words[j])):
if(k<j):
temp=words[j]
words[j]=words[k]
words[k]=temp
else:
if(k>j):
temp=words[j]
words[j]=words[k]
words[k]=temp
else:
if(words[j][0:i]==words[k][0:i]):
#print(words[j],words[k],i,words[j][0:i],words[k][0:i])
if(len(words[k])>len(words[j])):
if(k<j):
temp=words[j]
words[j]=words[k]
words[k]=temp
else:
if(k>j):
temp=words[j]
words[j]=words[k]
words[k]=temp
# print((words[j][0]))
for word in words:
print(word)
None'''
这个题,说简单简单,说难也难。
一个sorted就搞定。
我花了一个多小时,终于写出来了,具体的过程我懒得写了,反正就是一点点调整逻辑。
最后写出来了,但是复杂度太高,最后一个用例没通过。