Skip to main content
  1. Posts/

LeetCode-781 森林中的兔子

·1 min·

LeetCode-781 森林中的兔子 #

Solution 1 #

说和自己颜色一样的兔子有 $k$ 只的兔子有 $v$ 只, 每一组颜色至多有 $k + 1$ 个兔子, 因此这些兔子所在的组至少有 $\lfloor \frac{v + k}{k+1}\rfloor \times v$ 只兔子. 求和.

代码如下:

class Solution:
    def numRabbits(self, answers: List[int]) -> int:
        book = defaultdict(int)
        for x in answers:
            book[x] += 1
        ans = 0
        for k, v in book.items():
            ans += (v + k) // (k + 1) * (k + 1)
        return ans