全部评论
我是设置2个list,分别计为high和low,分别代表比牛牛排名高的人和比牛牛排名低的人,第一次遍历所有比赛,把所有牛牛赢了和输的人加入刚刚那俩list中,然后分别遍历这个list,退出条件为i<list.size(),因为list在这个过程中需要再次增加,在这每次遍历中,例如遍历high时,可以通过再次遍历所有比赛把这些人输了的人在加入到high中,当list.size()不再增加时就代表high里存放了所有比牛牛排名高的人,low类似,最后high.size()就是排名肯定比牛牛高的人数,low.size()就是排名肯定比牛牛低的人数
我的思路是:根据m场比赛的结果,构造一个(n+1)* (n+1)的矩阵,然后通过遍历矩阵,将明确可知排名低于牛牛的以及排名高于牛牛的分别放入到两个list中,然后看这两个list的长度,就可以得到牛牛排名的区间
记录每个人打赢的和打输的玩家序号,用bfs统计牛牛打赢和打输的计数,比如牛牛打赢2,2入队,再去2中找他能打赢的入队,最后要加个map去重,结果就是(输的计数,n-赢的计数]
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享