TableofContents
一、中文版
二、英文版
三、Myanswer
四、解题报告
一、中文版
现在有一个特殊的排名系统,依据参赛团队在投票人心中的次序进行排名,每个投票者都需要按从高到低的顺序对参与排名的所有团队进行排位。
排名规则如下:
参赛团队的排名次序依照其所获「排位第一」的票的多少决定。如果存在多个团队并列的情况,将继续考虑其「排位第二」的票的数量。以此类推,直到不再存在并列的情况。
如果在考虑完所有投票情况后仍然出现并列现象,则根据团队字母的字母顺序进行排名。
给你一个字符串数组votes代表全体投票者给出的排位情况,请你根据上述排名规则对所有参赛团队进行排名。
请你返回能表示按排名系统排序后的所有团队排名的字符串。
示例1:
输入:votes=["ABC","ACB","ABC","ACB","ACB"]
输出:"ACB"
解释:A队获得五票「排位第一」,没有其他队获得「排位第一」,所以A队排名第一。
B队获得两票「排位第二」,三票「排位第三」。
C队获得三票「排位第二」,两票「排位第三」。
由于C队「排位第二」的票数较多,所以C队排第二,B队排第三。
示例2:
输入:votes=["WXYZ","XYZW"]
输出:"XWYZ"
解释:X队在并列僵局打破后成为排名第一的团队。X队和W队的「排位第一」票数一样,但是X队有一票「排位第二」,而W没有获得「排位第二」。
示例3:
输入:votes=["ZMNAGUEDSJYLBOPHRQICWFXTVK"]
输出:"ZMNAGUEDSJYLBOPHRQICWFXTVK"
解释:只有一个投票者,所以排名完全按照他的意愿。
示例4:
输入:votes=["BCA","CAB","CBA","ABC","ACB","BAC"]
输出:"ABC"
解释:
A队获得两票「排位第一」,两票「排位第二」,两票「排位第三」。
B队获得两票「排位第一」,两票「排位第二」,两票「排位第三」。
C队获得两票「排位第一」,两票「排位第二」,两票「排位第三」。
完全并列,所以我们需要按照字母升序排名。
示例5:
输入:votes=["M","M","M","M"]
输出:"M"
解释:只有M队参赛,所以它排名第一。
提示:
1<=votes.length<=1000
1<=votes[i].length<=26
votes[i].length==votes[j].lengthfor0<=i,j votes[i][j]是英文大写字母 votes[i]中的所有字母都是唯一的 votes[0]中出现的所有字母同样也出现在votes[j]中,其中1<=j 二、英文版 三、Myanswer classSolution:defrankTeams(self,votes:List[str])->str:teams=list(votes[0])count_dict={}forteaminteams:count_dict[team]=[0]*len(teams)forvoteinvotes:fori,tinenumerate(vote):count_dict[t][i]-=1list1=sorted(count_dict.items,key=lambdax:(x[1],x[0]))#注意(x[1],x[0])要有括号,否则中间的逗号有歧义,报错:Line12:SyntaxError:positionalargumentfollowskeywordargumentreturn"".join(x[0]forxinlist1) 四、解题报告 1、count_dict[t][i]-=1 使用lambda给字典进行排序,x[1]表示获得的票数,理应越多越靠前;x[0]是字母,理应越小越靠前。但由于写在一个表达式里,不能同时做到一个递减排序(越多越靠前)一个递减排序(越小越靠前),所以在计数count时不是+=1,而改为-=1,因为负数满足条件。例如: [1,2,3]和[1,3,2]若是list自带的排序方式是[1,2,3]<[1,3,2],所以[1,2,3]在前,而本题中希望[1,3,2]在前。若变成负数: [-1,-2,-3]和[-1,-3,-2]list自带排序结果是[-1,-3,-2]<[-1,-2,-3],-3仍表示获得3票,大于2票,应靠前。所以此法满足越小越靠前,跟x[1]表示的按字母排序一致,都是从小到大排序。 2、return"".join(x[0]forxinlist1) 列表解析式,把数组变成字符串。list1样例: [('A',[-5,0,0]),('C',[0,-3,-2]),('B',[0,-2,-3])],可见list1中是元祖,要每个元祖的第一个,即参赛团队字母编码

哈哈哈 子弹越打越多了
哈哈哈 子弹越打越多了
《刺客信条: 黑旗 记忆重置》回应DLC比本体贵: DLC非必须
《刺客信条:黑旗 记忆重置》的首发表现可以说不错,Steam玩家峰值直逼10万。然而Steam的玩家评价却“褒贬不一”。除了游戏宣发问题外,还有一个原因就是总价超越本体的大量DLC,让玩家觉得育碧“吃相难看”。《刺客…当臭猫扶贫神秘嘉豪号主!
原神: 7.0奥黛塔定位反转! 并非木偶专属, 冰神设计成最大悬念
各位旅行者,今天咱们来聊聊原神7.0版本里一个让人意外的角色调整——奥黛塔的定位变化。千万没想到,原本大家都以为奥黛塔是木偶的专属队友,结果根据她的机制和定位来看,这是一位同时拥有星超导和星扩散的双机制…哪辆车能不被28吨钢卷压成废铁? 哪辆车能不被28吨钢卷压成废铁?
原神: 新超导木偶队顶配配装攻略! 告别刮痧与充能卡顿
很多玩家都有这样的困惑,同样是木偶新超导队伍,部分玩家用四星队友就能打出高额满配伤害,而自己配齐五星阵容,却始终面临伤害刮痧、充能卡顿的问题。其实核心差距并非角色配置,而是多数玩家没有掌握版本更新后,…