Leetcode--781.森林中的兔子

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

 

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

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

相关文章

JQuery 数组按指定长度分组

JQuery方法// 将data每3个一组进行分组var data [法国,澳大利亚,智利,新西兰,西班牙,加拿大,阿根廷,美国,0,国产,波多黎各,英国,比利时,德国,意大利,意大利,]; var result []; for(var i0,lendata.length;i<len;i3){result.push(data.slice(i,i3)); }lodash方法var data …

中科创星米磊:从五个方向筛选“硬科技”企业

来源&#xff1a;经济日报-中国经济网记者/梁 睿米磊建议创投和保荐机构从五个方面入手筛选“硬科技”企业&#xff1a;“围绕落实国家战略规划确定的科技发展方向或承担具体攻关任务的企业&#xff1b;拥有关键核心技术和先进技术的企业&#xff1b;科技创新和转化应用能力突出…

多线程下实现自增的几种方式

前情回顾&#xff1a;i操作并不是原子操作&#xff0c;因此多线程下会达不到预期的效果&#xff0c;需要通过加锁或AtomicInteger或LongAdder等方法来实现。 i可以分为三步 我们通过实验来观察实现i操作的方式。 下面实验中通过继承Thread实现了多线程 错误方法&#xff1a;…

Fast R-CNN(理解)

0 - 背景 经典的R-CNN存在以下几个问题&#xff1a; 训练分多步骤&#xff08;先在分类数据集上预训练&#xff0c;再进行fine-tune训练&#xff0c;然后再针对每个类别都训练一个线性SVM分类器&#xff0c;最后再用regressors对bounding box进行回归&#xff0c;并且bounding …

全球最顶级的十大创新公司

来源&#xff1a;中企思智库2021年2月英国著名的全球信息服务提供商科睿唯安发布了“2021年度全球百强创新机构”榜单&#xff0c;榜单通过衡量全球各大企业机构专利实力以及创新文化进行综合评选&#xff0c;具体排名如下&#xff1a;3M——是世界第一大创新企业&#xff0c;A…

读《redis设计与实现》笔记--redis数据结构

redis五大数据结构&#xff1a;string&#xff0c;hash&#xff0c;list&#xff0c;set&#xff0c;zset(有序集合) redis底层数据结构&#xff1a;简单动态字符串(SDS)&#xff0c;链表&#xff0c;字典&#xff0c;跳表&#xff0c;整数集合&#xff0c;压缩列表 底层数据…

Zookeeper实现Master选举(哨兵机制)

master选举使用场景及结构 现在很多时候我们的服务需要7*24小时工作&#xff0c;假如一台机器挂了&#xff0c;我们希望能有其它机器顶替它继续工作。此类问题现在多采用master-salve模式&#xff0c;也就是常说的主从模式&#xff0c;正常情况下主机提供服务&#xff0c;备机负…

一种用户-系统协同的概念模型

来源&#xff1a;人机与认知实验室翻译&#xff1a;何瑞麟&#xff0c;胡少波&#xff0c;关天海 一种用户-系统协同[的概念模型&#xff1a;增强复合型信息系统的易用性摘要世界各地的许多组织都使用复杂的信息系统&#xff08;例如&#xff0c;企业资源计划和供应链管理系统…

为Openstack制作CentOS7镜像

1&#xff09;CentOS7官方iso改名为centos7.iso并上传至控制节点的/home/image目录&#xff1b; [rootcontroller home]# mkdir image [rootcontroller home]# cd image/ [rootcontroller image]# ll 总用量 4365312 -rw-r--r-- 1 root root 4470079488 11月 3 13:38 centos7.…

下一代汽车的核心竞争力到底是什么?

来源&#xff1a;深城物联全球芯片短缺的情势下&#xff0c;汽车芯片的关注度持续走高。除了硬件外&#xff0c;最近&#xff0c;业内对于车辆软件系统的讨论也越来越热烈。华为近日发布了首款智能电动车极狐阿尔法S&#xff0c;HI版本上首次搭载了自研鸿蒙OS智能互联系统&…

Spring的AOP

1 IoC 1.1 导入jar包 l 4 1 &#xff1a; 4个核心&#xff08;beans、core、context、expression&#xff09; 1个依赖&#xff08;commons-loggins...jar&#xff09; 1.2 目标类 l 提供UserService接口和实现类 l 获得UserService实现类的实例 之前开发中&#xff0c;直接n…

NIO的多线程优化

单线程会浪费多核的优势 单线程如果在某一业务上花费时间过长&#xff0c;会影响其他业务的处理 boss负责连接&#xff0c;worker负责读写 服务端代码&#xff1a; package com.netty.demo;import java.io.IOException; import java.net.InetSocketAddress; import java.nio…

国产CPU深度研究报告(干货,110页)

来源&#xff1a;特大牛 来自特大号&#xff08;ITXXXL&#xff09;来自特大号&#xff08;ITXXXL&#xff09;来自特大号&#xff08;ITXXXL&#xff09;来自特大号&#xff08;ITXXXL&#xff09;来自特大号&#xff08;ITXXXL&#xff09;未来智能实验室的主要工作包括&…

logging模块(* * * * *)

一 (简单应用)、 import logging logging.debug(debug message) logging.info(info message) logging.warning(warning message) logging.error(error message) logging.critical(critical message) 输出&#xff1a; WARNING:root:warning messageERROR:root:erro…

业界首个!华为联合中国信通院等发布《网络体系强基展望白皮书》

来源&#xff1a; 华为数据通信编辑&#xff1a; 杨盼近日&#xff0c;华为联合中国信息通信研究院等单位&#xff0c;共同发布《网络体系强基展望白皮书》(以下简称《白皮书》)。《网络体系强基展望白皮书》从工业网络现状、趋势和需求出发&#xff0c;首次提出了“工业设备网…

git clone时出现gnutls_handshake() failed: The TLS connection was non-properly terminated.

重置代理&#xff0c;解决 git config --global --unset https.https://github.com.proxy git config --global --unset http.https://github.com.proxy

【原】Win SQL Server2012 IIS 安装(图文详解)

1、进入服务器管理&#xff0c;点击添加“添加角色和功能” 2、单击“安装类型”&#xff0c;然后选择“基于角色或者功能得安装”&#xff0c;单击下一步 3、选择“从服务器池中选择服务器”&#xff0c;单击下一步 4、在角色列表里面找到“Web服务器(IIS)”&#xff0c;并勾选…

终极孵化器:仿生婴儿的美丽新世界

Conceptual Photograph: The Voorhes来源&#xff1a; IEEE电气电子工程师子宫是人类生物学中最复杂的构造之一&#xff1a;可以帮助完成从胚胎到胎儿再到婴儿的壮举。但是如果没有胎盘&#xff0c;这种巨大的转化也是不可能实现的&#xff0c;胎盘是一种赋予生命的器官&#x…

学界丨北大清华合力打造通用人工智能实验班,朱松纯教授领衔

来源&#xff1a;北京大学微信公众号、AI科技评论、新智元据悉&#xff0c;首批北大通班同学已经开课&#xff0c;清华通班也已启动首批招生。师资方面&#xff0c;清华和北大各有优势学科&#xff0c;在通班的合作上可以优势互补&#xff1b;在平台方面&#xff0c;以朱松纯教…

struts2_模型驱动

一.注意点 建立实现ModelDriven接口的action类在该action类中,创建实体对象并new在getModel返回该对象在显示页面中提交的表单name正常写二.案例 创建实体类User: package com.ahd.entity;import com.opensymphony.xwork2.ModelDriven;public class User{private String userna…