leetcode(01)森林中的兔子

今天开始记录刷题的过程,每天记录自己刷题的题目和自己的解法,欢迎朋友们给出更多更好的解法。

森林中的兔子

森林中有未知数量的兔子,提问其中若干只兔子"还有多少只兔子与你(被提问的兔子)颜色相同"。将答案收集到一个整数数组answers中,其中answersi是第i只兔子的回答。给你数组answers,返回森林中兔子的最少数量。

输入示例1:

answers=1,1,2

输出示例1:

输出:5

输入示例2:

answers=10,10,10

输出示例2:

11

我的思路:分组计数,使用字典记录。

具体代码如下:

python 复制代码
def rabbit(answer_list):
    min_rabbit_num = 0
    answer_count = {}
    for i in answer_list:
        answer_count[i] = answer_count.get(i, 0) + 1 if i in answer_count else 1
    for key, value in answer_count.items():
        n = value // (key + 1)
        m = value % (key + 1)
        min_rabbit_num += n * (key + 1) if m == 0 else (n + 1) * (key + 1)
    return min_rabbit_num
# answers=[1,1,2]
min_rabbit_num = rabbit([10, 10, 10])
print(f'min_rabbit_num:{min_rabbit_num}')
相关推荐
lzhdim2 小时前
AI的分类
人工智能·算法·机器学习·分类·数据挖掘
凤凰院凶涛QAQ5 小时前
《Java版数据结构 & 集合类剖析》Map & Set & 反射:“从哈希碰撞到红黑树转换,反射帮你扒开 HashMap 的桶数组看个究竟”
java·数据结构·算法
H.莓飛5 小时前
【数据结构】排序_OJ题(一):计数、桶与排序后的处理
java·开发语言·数据结构
w_zero_one7 小时前
算法--模拟
java·数据结构·算法
秋天的怀念_David8 小时前
算法一千零一夜 · 第十三夜 幻方,武侠世界里的数学迷宫
java·程序人生·算法
秋天的怀念_David8 小时前
算法一千零一夜 · 第十四夜 幻方与奇妙的二进制
java·程序人生·算法
薛定e的猫咪8 小时前
(ICLR 2020)MAML 靠的不是快速学习,而是特征复用
人工智能·深度学习·学习·算法·机器学习
薛定e的猫咪9 小时前
(ICLR 2026)DF-META:面向 FJSP 的无导数元学习实例自适应调度
人工智能·深度学习·学习·算法·机器学习
java_nnnn10 小时前
LeetCode刷题滑动窗口(水果成篮+找到字符串中所有字母的异位词)Java
java·开发语言·leetcode
小羊没烦恼!10 小时前
异步编程:线程概述及使用
java·开发语言·mysql·算法·c#