[算法][哈希表][排序] [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;
    }
}
相关推荐
爱吃涮毛肚的肥肥(暂时吃不了版)11 分钟前
项目班——0510——JSON网络封装
c++·算法·json
liang_202625 分钟前
【HT周赛】T3.二维平面 题解(分块:矩形chkmax,求矩形和)
数据结构·笔记·学习·算法·平面·总结
緈福的街口26 分钟前
【leetcode】2900. 最长相邻不相等子序列 I
算法·leetcode·职场和发展
易只轻松熊28 分钟前
C++(20): 文件输入输出库 —— <fstream>
开发语言·c++·算法
远瞻。1 小时前
【论文阅读】人脸修复(face restoration ) 不同先验代表算法整理
论文阅读·算法
进击的小白菜1 小时前
LeetCode 153. 寻找旋转排序数组中的最小值:二分查找法详解及高频疑问解析
数据结构·算法·leetcode
dog2501 小时前
BBR 的 buffer 动力学观感
人工智能·算法
冲帕Chompa4 小时前
图论part10 bellman_ford算法
数据结构·算法·图论
緈福的街口4 小时前
【leetcode】144. 二叉树的前序遍历
算法·leetcode
GG不是gg4 小时前
排序算法之基础排序:冒泡,选择,插入排序详解
数据结构·算法·青少年编程·排序算法