跳到主要内容

781.森林中的兔子

链接:781.森林中的兔子
难度:Medium
标签:贪心、数组、哈希表、数学
简介:返回森林中兔子的最少数量。

题解 1 - typescript

  • 编辑时间:2021-04-04
  • 执行用时:92ms
  • 内存消耗:40.2MB
  • 编程语言:typescript
  • 解法介绍:统计兔子说的数进行运算。
function numRabbits(answers: number[]): number {
const map = new Map<number, number>();
for (const ans of answers) map.set(ans, (map.get(ans) ?? 0) + 1);
let ans = 0;
for (const [k, v] of map) {
if (k === 0) ans += v;
else if (k + 1 >= v) ans += k + 1;
else {
const count = ~~(v / (k + 1)) + +!!~~(v % (k + 1));
ans += count * (k + 1);
}
}
return ans;
}