[算法][哈希表][排序] [leetcode]2225. 找出输掉零场或一场比赛的玩家

题目地址

https://leetcode.cn/problems/find-players-with-zero-or-one-losses/description/

题目描述

代码及思路

java 复制代码
class Solution {
    public List<List<Integer>> findWinners(int[][] matches) {
        //创建一个map记录比赛胜者组
        //创建一个map记录比赛败者组
        //全胜者不应该出现在败者组中
        //恰好只输了一场的在败者组中失败次数为1
        Map<Integer, Integer> winnerMap = new HashMap();
        Map<Integer, Integer> loserMap = new HashMap();
        for (int[] m : matches) {
            if (winnerMap.containsKey(m[0])) {
                winnerMap.put(m[0], winnerMap.get(m[0])+1);
            } else {
                winnerMap.put(m[0], 1);
            }

            if (loserMap.containsKey(m[1])) {
                loserMap.put(m[1], loserMap.get(m[1] )+1);
            } else {
                loserMap.put(m[1], 1);
            }
        }

        List<Integer> answers0List = winnerMap.keySet().stream().filter(e -> !loserMap.containsKey(e)).sorted().collect(Collectors.toList());
        List<Integer> answer1List = loserMap.entrySet().stream().filter(e->e.getValue()==1).map(e->e.getKey()).sorted().collect(Collectors.toList());

        List<List<Integer>> ans = new ArrayList<>();
        ans.add(answers0List);
        ans.add(answer1List);
        return ans;
    }
}
相关推荐
怕浪猫6 小时前
RAG 面试 6 连问,从原理到优化全部覆盖
python·算法·面试
无线通信科研笔记7 小时前
IEEE TVT 2026 论文精读与完整复现|相位误差如何重塑近场 RIS 的幅相响应
论文阅读·人工智能·python·算法·论文笔记
mmmmath_38 小时前
二叉树の递归遍历
算法
All for pursuit.8 小时前
【位运算-1】338.比特位计数
数据结构·c++·算法·leetcode
小师兄吃牛肉9 小时前
C语言中的nullptr有必要吗
c语言·c++·算法
一只小小的芙厨10 小时前
【线性DP】
学习·算法·动态规划
奋发向前wcx11 小时前
CSP-J复赛模拟赛5 王晨旭补题 2026.10.5
算法
罗湖老棍子12 小时前
C Looooops(信息学奥赛一本通- P1640)
算法·数论·同余·裴蜀定理·扩展欧几里得
飘尘14 小时前
从"算子"到"AI Infra":大模型背后看不见的那群人在忙什么
人工智能·算法·面试
夏幻灵15 小时前
每日一题:LeetCode 3:无重复字符的最长子串——滑动窗口思路详解
算法·leetcode·职场和发展