京东数据分析笔试题

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

相关推荐

05-19 09:12
河南大学 Java
程序员小白条:怎么还用网上的经典项目,速成是很少有人去捞面试的
点赞 评论 收藏
分享
05-10 16:48
门头沟学院 Java
程序员小白条:主要原因,投递太晚了,快手应该早点溜了,你都从去年9月开始的,半年也差不多3月跑路了,这样的话,至少有5个以上的面试机会
点赞 评论 收藏
分享
评论
点赞
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务