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

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

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

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

输入: answers = []
输出: 0
说明:

answers 的长度最大为1000。
answers[i] 是在 [0, 999] 范围内的整数。

思路:

遍历数组,按照answers[i]分组,当一个组下的数字个数和asnwers[i]+1相同时,更新总和,移除这个组。

tpis:answers[i]=0时,直接更新总和即可

代码:

class Solution {public int numRabbits(int[] answers) {if(answers.length==0){return 0;}// 1 3 4 =2+4+5// 3 3 3 4 = 3+1  int sum = 0;Map<Integer,Integer> map = new HashMap<>();for(int i=0;i<answers.length;i++){if(map.containsKey(answers[i])){map.put(answers[i],map.get(answers[i])+1);if(map.get(answers[i])==1+answers[i]){sum+=(1+answers[i]);map.remove(answers[i]);}}else{if(answers[i]==0){sum+=1;continue;}map.put(answers[i],1);}}for(Map.Entry<Integer, Integer> entry : map.entrySet()){sum+=(entry.getKey()+1);}return sum;}
}

Leetcode--781.森林中的兔子相关推荐

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

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

  2. leetcode 781. 森林中的兔子(hashmap)

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. 科研文献|根相关真菌群落反映了亚热带森林中宿主的空间共生模式

    TITLE:Root-associated fungal community reflects host spatial co-occurrence patterns in a subtropical ...

最新文章

  1. CCNA实验:VLan间路由实验配置 (单臂路由)
  2. 学会使用函数式编程的程序员(第2部分)
  3. asp.net 中Gridview 使用总结
  4. 最小表示法 最大表示法
  5. 功能测试——Selenium自动化功能测试
  6. OpenWrt——Could not lock /var/lock/opkg.lock: Resource temporarily unavailable.
  7. KILE退出调试模式时显示Encuntered an improper argument
  8. NP完全性理论与近似算法
  9. windows下将磁盘脱机,并在我的电脑下显示
  10. 做 Python 代码重构,竟发现这些“潜规则”!
  11. GDAL C#中文路径,中文属性名称乱码问题
  12. [转帖]成功者的十四项心理定律
  13. 判定通视的计算法公式_测量学简答题(5篇范例)
  14. linux unip命令
  15. Java IO流基础
  16. Java文件操作——简单文件搜索优化版本Lambda优化
  17. NK-RTU980 USB bulk传输
  18. 使用jenkins流水线完成自动部署服务到K8s
  19. 面试表现不好时补救策略
  20. android 7.0 新功能介绍(Nougat)

热门文章

  1. 《程序员面试金典》解题目录(更新完毕)
  2. LeetCode 94. 二叉树的中序遍历(中序遍历)
  3. 聚类算法 距离矩阵_快速且不需要超参的无监督聚类方法
  4. j2ee和mysql怎么连接_J2EE数据库连接不再烦恼
  5. 小案例:搭建简易版王者荣耀英雄购买商城网页版
  6. 利用python自定义完整版迭代器
  7. Flink的异步I/O及Future和CompletableFuture
  8. Spring Boot 1.5.x新特性:动态修改日志级别
  9. 论文浅尝 | 探索将预训练语言模型用于事件抽取和事件生成
  10. 论文浅尝 | EARL: Joint Entity and Relation Linking for QA over KG