森林中,每个兔子都有颜色。其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色。我们将这些回答放在 answers 数组里。

返回森林中兔子的最少数量。

示例:
输入: answers = [1, 1, 2]
输出: 5
解释:
两只回答了 “1” 的兔子可能有相同的颜色,设为红色。
之后回答了 “2” 的兔子不会是红色,否则他们的回答会相互矛盾。
设回答了 “2” 的兔子为蓝色。
此外,森林中还应有另外 2 只蓝色兔子的回答没有包含在数组中。
因此森林中兔子的最少数量是 5: 3 只回答的和 2 只没有回答的。

输入: answers = [10, 10, 10]
输出: 11

输入: answers = []
输出: 0

解题思路

将具有报出相同数量同类的兔子作为一组,遍历一次数组,就可以知道每个组内缺了多少个兔子,再加上原数组中的兔子个数,就是森林中兔子的最少数量。

代码

class Solution {public int numRabbits(int[] answers) {HashMap<Integer, Integer> map = new HashMap<>();for (int i = 0; i < answers.length; i++) {if(answers[i]==0) continue; //独一无二的兔子map.put(answers[i],map.getOrDefault(answers[i],answers[i]+1)-1);if(map.get(answers[i])==0) map.remove(answers[i]);//这个组已经查完了,移除}int res=answers.length;for (Map.Entry<Integer, Integer> entry : map.entrySet()) {res+=entry.getValue();}return res;}
}

leetcode 781. 森林中的兔子(hashmap)相关推荐

  1. LeetCode 781. 森林中的兔子(哈希+贪心)

    文章目录 1. 题目 2. 解题 1. 题目 森林中,每个兔子都有颜色. 其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色. 我们将这些回答放在 answers 数组里. 返回森林 ...

  2. leetcode每日一题—781.森林中的兔子

    题目: 森林中,每个兔子都有颜色.其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色.我们将这些回答放在 answers 数组里.返回森林中兔子的最少数量. 解答: class So ...

  3. leetcode 781. Rabbits in Forest | 781. 森林中的兔子(Java)

    题目 https://leetcode.com/problems/rabbits-in-forest/ 题解 另 answers 中的每一个元素称为 n,那么,n 最多能抵消 n+1 个同类元素. c ...

  4. 森林中的兔子(超详细解析)

    森林中的兔子题目题解 题目 解析 题解一 题解二 题目 森林中,每个兔子都有颜色.其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色.我们将这些回答放在 answers 数组里. 返 ...

  5. [Swift]LeetCode781. 森林中的兔子 | Rabbits in Forest

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  6. Leetcode--781.森林中的兔子

    森林中,每个兔子都有颜色.其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色.我们将这些回答放在 answers 数组里. 返回森林中兔子的最少数量. 示例: 输入: answers ...

  7. 森林中的兔子,有感而抒

    力扣4月4日每日一题,传送门 有感而抒 森林中,每个兔子都有颜色.其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色.我们将这些回答放在 answers 数组里. 返回森林中兔子的最 ...

  8. Leetcode 781 森林里的兔子(C++)

    Leetcode 781 Rabbits In Forest (C++ Solution) 图论 问题描述 森林中,每个兔子都有颜色.其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜 ...

  9. LeetCode.961-2N数组中N次重复的元素(N-Repeated Element in Size 2N Array)

    这是悦乐书的第365次更新,第393篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第227题(顺位题号是961).在大小为2N的数组A中,存在N+1个唯一元素,并且这些元 ...

最新文章

  1. [原创] GUI原理2 - 矢量线条
  2. mysql三台机群集_MySQL Cluster 3台机器搭建集群环境
  3. 调整样式_2019年4月1日起,内河船船员适任证书样式调整成这样啦~
  4. pythontype函数使用_Python astype(np.float)函数使用方法解析
  5. python2.0_python之路2.0
  6. 【解决方案】pytorch中loss变成了nan | 神经网络输出nan | MSE 梯度爆炸/梯度消失
  7. 【codevs1220】数字三角形
  8. 使用 React Testing LIbrary 的 15 个常见错误
  9. java 根据ftl文件生成word
  10. matlab中单相整流器,应用Matlab仿真单相PWM整流器的一种简单方法
  11. Windows XP修改CHM字体大小
  12. EcmaScript 2022中的新特性
  13. 因机构系统维护服务暂不可用_因合作方系统维护,暂时无法使用是什么意思?...
  14. java+poodle漏洞修复_SSLv3 Poodle攻击漏洞检测工具
  15. 关于树莓派DSI屏幕触摸不准的问题
  16. 用敏捷思维来指导我们的工作和学习 --专栏《说透敏捷》学习总结
  17. 几次推广都没能火起来,腾讯直接把微视嵌入朋友圈了?
  18. 时空大数据解决方案-最新全套文件
  19. python+selenium+chrome实现淘宝购物车秒杀自动结算
  20. Anaconda/pip 更换阿里源,助力 conda create -n 虚拟环境搭建

热门文章

  1. C++ 类的深拷贝与浅拷贝||深拷贝通过重载拷贝构造函数与重载赋值运算符实现
  2. java web开发环境搭建
  3. 用strace工具跟踪系统调用
  4. 2020-12-15 CPU设计复盘
  5. 【操作系统】虚拟化CPU、Memory,共享文件
  6. 08-图9 关键活动 (30 分
  7. UNIX网络编程笔记(3):简单的并发服务器
  8. java开发工程师学什么专业,Java核心知识点
  9. ZooKeeper集群与Leader选举
  10. 微信公众号接入开发者模式,服务器配置Token验证