力扣-2225

题目

给你一个整数数组 matches 其中 matches[i] = [winneri, loseri] 表示在一场比赛中 winneri 击败了 loseri 。

返回一个长度为 2 的列表 answer :

  • answer[0] 是所有 没有 输掉任何比赛的玩家列表。
  • answer[1] 是所有恰好输掉 一场 比赛的玩家列表。

两个列表中的值都应该按 递增 顺序返回。

注意:

  • 只考虑那些参与 至少一场 比赛的玩家。
  • 生成的测试用例保证 不存在 两场比赛结果 相同 。

示例 1:

输入:matches = [[1,3],[2,3],[3,6],[5,6],[5,7],[4,5],[4,8],[4,9],[10,4],[10,9]]
输出:[[1,2,10],[4,5,7,8]]
解释:
玩家 1、2 和 10 都没有输掉任何比赛。
玩家 4、5、7 和 8 每个都输掉一场比赛。
玩家 3、6 和 9 每个都输掉两场比赛。
因此,answer[0] = [1,2,10] 和 answer[1] = [4,5,7,8] 。

示例 2:

输入:matches = [[2,3],[1,3],[5,4],[6,4]]
输出:[[1,2,5,6],[]]
解释:
玩家 1、2、5 和 6 都没有输掉任何比赛。
玩家 3 和 4 每个都输掉两场比赛。
因此,answer[0] = [1,2,5,6] 和 answer[1] = [] 。

思路

统计每个玩家输掉的次数,遇到赢的也要统计,遍历统计最多输一场的玩家排序后返回答案

解题方法

注意遇到赢的也要统计

代码

class Solution {
    public List<List<Integer>> findWinners(int[][] matches) {
        int n=matches.length;
        Map<Integer,Integer> tm=new HashMap<>();
        for(int i=0;i<n;i++){
            if(!tm.containsKey(matches[i][0])){
                tm.put(matches[i][0],0);
            }
            if(tm.containsKey(matches[i][1])){
                tm.put(matches[i][1],tm.get(matches[i][1])+1);
            }else{
                tm.put(matches[i][1],1);
            }
        }
        List<List<Integer>> ans = List.of(new ArrayList<>(), new ArrayList<>());
        for(Map.Entry<Integer,Integer> entry:tm.entrySet()){
            int ls=entry.getValue();
            if(ls<2){
                ans.get(ls).add(entry.getKey());
            }
        }
        Collections.sort(ans.get(0));
        Collections.sort(ans.get(1));
        return ans;
    }
}

相关推荐

  1. -2225

    2024-06-12 15:14:01       23 阅读
  2. 225. 用队列实现栈

    2024-06-12 15:14:01       50 阅读
  3. [题解]225. 用队列实现栈

    2024-06-12 15:14:01       31 阅读
  4. 225题 用队列实现栈 记录

    2024-06-12 15:14:01       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-12 15:14:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-12 15:14:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-12 15:14:01       82 阅读
  4. Python语言-面向对象

    2024-06-12 15:14:01       91 阅读

热门阅读

  1. Lua 基础 05 时间

    2024-06-12 15:14:01       30 阅读
  2. leetcode刷题记录38-16. 最接近的三数之和

    2024-06-12 15:14:01       25 阅读
  3. 高低温测试发现文件被篡改

    2024-06-12 15:14:01       32 阅读
  4. 架构设计-如何安全地传输密码

    2024-06-12 15:14:01       26 阅读
  5. 【名词解释】Unity中的Scrollbar组件及其使用示例

    2024-06-12 15:14:01       37 阅读
  6. 大数据的定义特点与应用场景?

    2024-06-12 15:14:01       33 阅读
  7. 网络数据库后端面试题

    2024-06-12 15:14:01       29 阅读
  8. c++:回顾(一)

    2024-06-12 15:14:01       34 阅读
  9. 杂项——编码器控制小车走固定距离(stm32)

    2024-06-12 15:14:01       36 阅读
  10. 2833.距离原点最远的点

    2024-06-12 15:14:01       34 阅读
  11. 亚马逊云服务器价格贵不贵?

    2024-06-12 15:14:01       31 阅读