京东数据分析笔试题
第一题:姓名排序
ZHANG SAN LI SI WANG WU WANG LIU WANG QI ZHANG WU LI WU给出n行姓名,然后根据姓出现次数进行排序,当姓出现次数一样大多的时候,根据输入的顺序排序。
WANG WU WANG LIU WANG QI ZHANG SAN LI SI ZHANG WU LI WU分享一下我的思路,不知道能不能ac
ss=input()
arr=[]
while ss !='':
arr.append(ss)
ss=input()
dic={}
dt={}
for i in range(len(arr)):
name=arr[i].split(' ')[0]
if dic.get(name,0)==0:
dic[name]=1
else:
dic[name]+=1
for i in range(len(arr)):
name=arr[i].split(' ')[0]
dt[arr[i]]=dic[name]
lis=[]
for i in range(len(arr)):
lis.append((dt[arr[i]],i))
lis.sort(key=lambda x:(-x[0],x[1]))
#lis=sorted(lis,key=lambda x:(x[0],-x[1]),reverse=True)
for i in range(len(lis)):
print(arr[lis[i][1]])
SHEIN希音公司福利 222人发布