[算法][哈希表][排序] [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;
    }
}
相关推荐
焦耳加热3 小时前
阿德莱德大学Nat. Commun.:盐模板策略实现废弃塑料到单原子催化剂的高值转化,推动环境与能源催化应用
人工智能·算法·机器学习·能源·材料工程
wan5555cn3 小时前
多张图片生成视频模型技术深度解析
人工智能·笔记·深度学习·算法·音视频
u6063 小时前
常用排序算法核心知识点梳理
算法·排序
蒋星熠5 小时前
Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物
开发语言·python·算法·flutter·设计模式·性能优化·硬件工程
小欣加油6 小时前
leetcode 面试题01.02判定是否互为字符重排
数据结构·c++·算法·leetcode·职场和发展
3Cloudream6 小时前
LeetCode 003. 无重复字符的最长子串 - 滑动窗口与哈希表详解
算法·leetcode·字符串·双指针·滑动窗口·哈希表·中等
王璐WL6 小时前
【c++】c++第一课:命名空间
数据结构·c++·算法
空白到白7 小时前
机器学习-聚类
人工智能·算法·机器学习·聚类
索迪迈科技7 小时前
java后端工程师进修ing(研一版 || day40)
java·开发语言·学习·算法
zzzsde7 小时前
【数据结构】队列
数据结构·算法