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

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

示例:

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/rabbits-in-forest
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

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

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

输入: answers = []
输出: 0

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/rabbits-in-forest
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

package com.leecode.demo;import java.util.Arrays;public class CountRabbit {public static int numRabbits(int[] answers) {if(answers.length == 0){return 0;}else{//怎么分析数据??//清除数据int counter =0;int i = 0,j = 0;for(i =0;i < answers.length -1;i++) {//System.out.println("i="+i+";j="+j);if(answers[i] == 0) {counter++;answers[i]=-2;System.out.println("answers[i]==0");}else if(answers[i]!=-2) {int p = 0;for(j= i+1;j<answers.length;j++) {//System.out.println("i="+i+";j="+j);if(answers[j]==0) {counter++;System.out.println("answers[j]==0");answers[j]=-2;}if(answers[i] == answers[j]&&answers[i]!=0&&answers[i]!=-2) {answers[j]= -2;//-2作为靶标,标记p++;}}if(p== answers[i]) {counter = counter + answers[i]+1;System.out.println("answers[i]="+answers[i]+"  sum="+ (answers[i]+1));}else if(p==0){System.out.println("counter="+counter);counter = counter + answers[i]+1;System.out.println("counter="+counter);System.out.println("answers[i]="+answers[i]+"  sum="+ (answers[i]+1));}else if(p < answers[i]) {counter = counter +  answers[i] +1;}else if(p > answers[i]) {if((p +1)%( answers[i]+1)==0&&answers[i]!=1) {counter = counter + ((p+1)/answers[i])*answers[i];System.out.println("answers[i]="+answers[i]+"  sum="+((p+1)/answers[i])*answers[i]);}else if((p +1)% (answers[i]+1)!=0&&answers[i]!=1) {counter = counter + (((p+1)/(answers[i]+1))*(answers[i]+1) + answers[i] + 1);System.out.println("3answers[i]="+answers[i]+"  sum="+ (((p+1)/answers[i])*answers[i] + answers[i] + 1)+((p+1)/(answers[i]+1)));}else if((p +1)% 2==0&&answers[i]==1) {counter = counter + p+1;System.out.println("answers[i]="+answers[i]+"  sum="+ (p+1));}else if((p +1)% 2!=0&&answers[i]==1) {counter = counter + (p+1)/2*2 +2;System.out.println("answers[i]="+answers[i]+"  sum="+ (p+3));}}p=0;}}if(answers[answers.length-1]!=-2) {counter = counter +  answers[answers.length-1] +1;//System.out.println("counter="+counter);}System.out.println(Arrays.toString(answers));return counter;}}public static void main(String[] args) {int[] nums = {0,0,2,2,4,3,4,1,0,1,0,1,4,2,1,1,4,0,2,4};////[2,2,0,0,2]//[1,0,1,0,0]  5//[0,0,1,1,1]  6//[0,2,0,2,1]  7//[0,3,2,0,3,3,4,2,4,3,2,4,4,3,0,1,3,4,4,3]  26//[0,0,0,1,0] 6//[0,0,2,2,4,3,4,1,0,1,0,1,4,2,1,1,4,0,2,4]  26int i = numRabbits(nums);System.out.println(i);}
}

20210406森林里的兔子相关推荐

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

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

  2. 罗振宇解读《今日简史》:21个议题就是21个千亿美金的机会

    这个时代,既然手机出新品可以开发布会,一个知识产品为什么不可以?一本新书.一堂新课,也应该有它诞生的证明. 所以在这个时代,我们有了好东西,就大胆地对用户喊出来. 今天我们要发布的是一本书,一本新书, ...

  3. 大学生职业生涯规划——我的未来我做主

      前言 职业生涯规划是指个人发展与组织发展相结合,通过对职业生涯的主客观因素分析.总结和测定,确定一个人的奋斗目标,并为实现这一事业职业目标,而预先进行生涯系统安排的过程.在任何社会.任何体制下,个 ...

  4. 一段百年征程的有限单群

    1832年的某个清晨,革命中的法国见证了重新决斗. 在某个瞬间,某位青年被对手的枪射中腹部.随后去世.在当时狂热的政治斗争中,仅仅有寥寥数人意识到.法国,甚至世界.又失去了还有一个伟大的头脑. 这位青 ...

  5. 取得最高系统管理员权限的有效方法

    一. 权限的由来 远方的某个山脚下,有一片被森林包围的草原,草原边上居住着一群以牧羊为生的牧民.草原边缘的森林里,生存着各种动物,包括野狼. 由于羊群是牧民们的主要生活来源,它们的价值便显得特别珍贵, ...

  6. 无形的栅栏 完全解析Windows系统权限(转)

    无形的栅栏 完全解析Windows系统权限(1) 一. 权限的由来 远方的某个山脚下,有一片被森林包围的草原,草原边上居住着一群以牧羊为生的牧民.草原边缘的森林里,生存着各种动物,包括野狼. 由于羊群 ...

  7. Windows系统权限

    无形的栅栏 完全解析Windows系统权限(1) 一. 权限的由来 远方的某个山脚下,有一片被森林包围的草原,草原边上居住着一群以牧羊为生的牧民.草原边缘的森林里,生存着各种动物,包括野狼. 由于羊群 ...

  8. 从“兔子狮子谁做老板”的故事,看企业管理

    一天,一只兔子在山洞前写文章,一只狼走了过来,问:"兔子啊,你在干什么?"答曰:"写文章."问:"什么题目?"答曰:"<浅谈 ...

  9. [HEOI2015] 兔子与樱花

    Description 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由 \(n\) 个树枝分叉点组成,编号从 \(0\) 到 \(n-1\ ...

  10. bzoj4027,[HEOI2015]兔子与樱花

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4027 Description 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定 要 ...

最新文章

  1. 【翻译】Play框架入门教程一:建立项目
  2. C#中怎样将Listlt;自己定义gt;转为Json格式 及相关函数-DataContractJsonSerializer
  3. 代码分析 公用类库
  4. hdu3068马拉车
  5. 百度测试新搜索结果页面 改进灵感来自谷歌?
  6. ExtJs2.0学习系列(10)--Ext.TabPanel之第二式
  7. html日期选择格式 now,JavaScript的Date.now()方法怎么用?
  8. c语言答辩中期报告,安徽工程大学毕业设计(论文)中期检查总结
  9. java架构说明书_JDBC 使用说明(流程、架构、编程)
  10. CUDA——线程配置
  11. 这位985名校的教授火了!当了10年博导,竟无一博士毕业?
  12. HTML中给Button加图片背景的具体写法
  13. 每日一题《青蛙跳步》
  14. DNS域名服务器的搭建
  15. KodBox_v1.15_学习笔记
  16. php程序员拜年代码,2018程序员拜年的奇思妙想,涨姿势了
  17. image图片大小调整和方向调整(UIImageOrientation)
  18. 计算机名和DNS域名的关系,域名、DNS、IP地址的对应关系
  19. Pandas 根据category自定义排序
  20. 谷歌手机pixel4 夜景_如何在Google Pixel手机上拍摄屏幕截图

热门文章

  1. 【2022年二级Python】②基本数据类型
  2. hdu 4565(推公式、矩阵快速幂)
  3. DataLossError : corrupted record at XXXXXXX,BERT预训练报错
  4. 让聊天机器人来填平技术鸿沟吧!
  5. 计算机软件系统崩溃,系统崩溃,解决系统崩溃的方法全集
  6. vue 金额大写小转换 数字转换 小写转大写 保留两位小数
  7. 往服务器复制文件提示拒绝访问,Win10系统复制文件提示目标文件夹被拒绝访问的解决方法...
  8. 商务部公布2006年度最具市场竞争力品牌名单
  9. mongodb mapreduce分析
  10. 腾讯云服务器如何选择配置?