LeetCode每日一题781. 森林中的兔子
发布日期:2021-05-08 02:34:49 浏览次数:18 分类:精选文章

本文共 635 字,大约阅读时间需要 2 分钟。

分析

定义一个哈希表mp,记录每个数出现的个数,同时把每个数插入到集合中。

遍历集合s:

  1. 0:没有人与自己相同,直接加mp[0]
  2. 其他数x:每组大小为(x+1)。
    求出商 k = m p [ x ] x + 1 k=\frac{mp[x]}{x+1} k=x+1mp[x]和余数 r = m p [ x ] % ( x + 1 ) r=mp[x]\%(x+1) r=mp[x]%(x+1)
    若余数r=0,说明刚好有k组,加上KaTeX parse error: Undefined control sequence: \* at position 2: k\̲*̲(x+1)
    余数不为0,需要k+1组,加上KaTeX parse error: Undefined control sequence: \* at position 6: (k+1)\̲*̲(x+1)

样例

[0,0,1,1,1]

6.png

[0,0,0,1,1]

66.png

C++ 代码

class Solution {public:    unordered_map
mp; //开一个哈希表 set
s; int ans; int numRabbits(vector
& answers) { int n=answers.size(); if(n<1) return 0; for(int i=0;i
上一篇:八、Pandas的基本使用
下一篇:NOIP2016提高组 组合数问题(二维前缀和)

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月11日 07时08分37秒