京东数据分析笔试题

第一题:姓名排序
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]])




#京东##笔试题目##题解#
全部评论
唉,三行SQL能解决的非要这么麻烦,写python
点赞 回复 分享
发布于 2019-08-28 20:27

相关推荐

不愿透露姓名的神秘牛友
昨天 12:19
点赞 评论 收藏
分享
10-17 17:14
门头沟学院 C++
牛客410039819号:北京地区大多是919和927,这两场挂太多人了
投递华为等公司10个岗位
点赞 评论 收藏
分享
11-04 14:10
东南大学 Java
_可乐多加冰_:去市公司包卖卡的
点赞 评论 收藏
分享
评论
点赞
8
分享
牛客网
牛客企业服务