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

森林中,每个兔子都有颜色。其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色。我们将这些回答放在 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;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/391502.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快速排序简便记_建立和测试股票交易策略的快速简便方法

快速排序简便记Note from Towards Data Science’s editors: While we allow independent authors to publish articles in accordance with our rules and guidelines, we do not endorse each author’s contribution. You should not rely on an author’s works without se…

Java学习第1天:序言,基础及配置tomcat

所谓是福不是祸&#xff0c;是祸躲不过&#xff0c;到底还是回到java的阵地上来。既然它这么热&#xff0c;那就学学它&#xff0c;现在这件事已经提上议事日程&#xff0c;也已经开始。 今天做的事&#xff1a; 泛泛的翻了几本书&#xff0c;敲了一些练习代码&#xff0c;比如…

robot:List变量的使用注意点

创建list类型变量&#xff0c;两种方式&#xff0c;建议使用Create List关键字 使用该列表变量时需要变为${}方式&#xff0c;切记切记&#xff01; 转载于:https://www.cnblogs.com/gcgc/p/11429482.html

python基础教程(十一)

迭代器 本节进行迭代器的讨论。只讨论一个特殊方法---- __iter__ &#xff0c;这个方法是迭代器规则的基础。 迭代器规则 迭代的意思是重复做一些事很多次---就像在循环中做的那样。__iter__ 方法返回一个迭代器&#xff0c;所谓迭代器就是具有next方法的对象&#xff0c;在调…

编程需要数学知识吗_编程需要了解数学吗?

编程需要数学知识吗Does programming require knowing math? Not necessarily. 编程需要了解数学吗&#xff1f; 不必要。 When I say that, Im mostly talking about Web Development, not working with graphics or specific applications that require advanced math. 当我…

美剧迷失_迷失(机器)翻译

美剧迷失Machine translation doesn’t generate as much excitement as other emerging areas in NLP these days, in part because consumer-facing services like Google Translate have been around since April 2006.如今&#xff0c;机器翻译并没有像其他NLP新兴领域那样…

mysql 1449 : The user specified as a definer ('usertest'@'%') does not exist 解决方法 (grant 授予权限)...

从服务器上迁移数据库到本地localhost 执行 函数 时报错&#xff0c; mysql 1449 &#xff1a; The user specified as a definer (usertest%) does not exist 经查&#xff0c;是权限问题(其中usertest是服务器上数据库的登录名)&#xff0c;解决办法&#xff1a; 授权给 u…

初识数据结构与算法

1、什么是数据结构&#xff1f; a、数据结构是一门研究非数值计算的程序设计问题中的操作对象&#xff0c;以及它们之间的关系和操作等相关问题的学科。 b、数据结构是计算机存储、组织数据的方式&#xff0c;数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常…

产品经理思考

1.分析QQ与微信的区别&#xff0c;包含其中存在的问题&#xff0c;并给出解决方案。 2.如果你设计一款基于音乐的高品质内容的社交软件&#xff0c;给说出这么设计的原因。 3.请说出一款APP的的看法&#xff0c;指出其中不合理的地方&#xff0c;并说明原因&#xff08;APP如果…

shopify 开发_播客第57集:从Shopify的作家到开发人员,与Adam Hollett一起

shopify 开发On this weeks episode of the freeCodeCamp podcast, Quincy interviews Adam Hollett. Hes a software developer at Shopify in Ottawa, Canada.在本周的freeCodeCamp播客节目中&#xff0c;Quincy采访了Adam Hollett。 他是加拿大渥太华Shopify的软件开发人员。…

机器学习中决策树的随机森林_决策树和随机森林在机器学习中的使用

机器学习中决策树的随机森林机器学习 (Machine Learning) Machine learning is an application of artificial intelligence that provides systems the ability to automatically learn and improve from experience without being explicitly programmed. The 3 main categor…

pycharm 快捷键

编辑: ctrl D   快速复制粘贴一行 ctrl E   快速删除一行 ctrl Z   撤销上一步命令或输入 end  快速跳到行末 shift enter  快速换行&#xff08;尤其适用于光标不在行末时&#xff09; ctrl F  查找 ctrl R  替换 转载于:https://www.cnblogs.com/Chris-0…

【Python算法】遍历(Traversal)、深度优先(DFS)、广度优先(BFS)

图结构&#xff1a; 非常强大的结构化思维&#xff08;或数学&#xff09;模型。如果您能用图的处理方式来规范化某个问题&#xff0c;即使这个问题本身看上去并不像个图问题&#xff0c;也能使您离解决问题更进一步。 在众多图算法中&#xff0c;我们常会用到一种非常实用的思…

r语言编程基础_这项免费的统计编程课程仅需2个小时即可学习R编程语言基础知识

r语言编程基础Learn the R programming language in this course from Barton Poulson of datalab.cc. This is a hands-on overview of the statistical programming language R, one of the most important tools in data science.从datalab.cc的 Barton Poulson学习本课程中…

leetcode 81. 搜索旋转排序数组 II(二分查找)

已知存在一个按非降序排列的整数数组 nums &#xff0c;数组中的值不必互不相同。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转 &#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1], nu…

使用ViewContainerRef探索Angular DOM操作技术

每当我阅读中遇到&#xff0c;关于Angular中使用DOM的内容时&#xff0c;总会看到一个或几个这样的类&#xff1a;ElementRef&#xff0c;TemplateRef&#xff0c;ViewContainerRef等等。 不幸的是&#xff0c;虽然其中的一些被Angular文档或相关文章所讲述&#xff0c;但是我还…

numpy1

1、NumPy包含的内容 1、ndarrray&#xff0c;高效的多维数组&#xff0c;提供了基于数组的便捷算术操作以及灵活的广播功能&#xff1b; 2、对所有数组对象进行快速的矩阵计算&#xff0c;而无需编写循环&#xff1b; 3、提供对硬盘中的数据的读写工具&#xff0c;并对内存映射…

我如何预测10场英超联赛的确切结果

Is there a way to predict the outcome of any soccer game with 100% accuracy? The honest and simplest answer is…. no. Regardless of what your fantasy football friends say, there is absolutely no way to be 100% certain, but there is a proven, mathematical …

多迪技术总监揭秘:PHP为什么是世界上最好的语言?

PHP这么一个脚本语言&#xff0c;虽然他是web开发中&#xff0c;使用者最多的语言&#xff0c;最快最简单的语言&#xff0c;生态环境和社区积累最深厚的语言&#xff0c;作为最好的编程语言&#xff0c;多迪技术总监为你介绍&#xff1a;PHP为什么是世界上最好的语言&#xff…

aws数据库同步区别_了解如何通过使用AWS AppSync构建具有实时数据同步的应用程序

aws数据库同步区别AWS AppSync automatically updates the data in web and mobile applications in real time, and updates data for offline users as soon as they reconnect. AWS AppSync会自动实时更新Web和移动应用程序中的数据&#xff0c;并在离线用户重新连接后立即为…