leetcode(01)森林中的兔子

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

森林中的兔子

森林中有未知数量的兔子,提问其中若干只兔子"还有多少只兔子与你(被提问的兔子)颜色相同"。将答案收集到一个整数数组answers中,其中answers[i]是第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}')
相关推荐
陈陈爱java5 分钟前
RRT建模
算法
智算菩萨13 分钟前
摩擦电纳米发电机近期进展的理论脉络梳理:从接触起电到统一建模与能量转换
linux·人工智能·算法
xiaolang_8616_wjl14 分钟前
c++超级细致的基本框架
开发语言·数据结构·c++·算法
艾醒43 分钟前
大模型原理剖析——拆解预训练、微调、奖励建模与强化学习四阶段(以ChatGPT构建流程为例)
算法
冷崖1 小时前
排序--基数排序
c++·算法
F_D_Z1 小时前
哈希表解Two Sum问题
python·算法·leetcode·哈希表
Aaron15881 小时前
基于RFSOC+VU13P+GPU架构在雷达电子战的技术
人工智能·算法·fpga开发·架构·硬件工程·信号处理·基带工程
LYFlied1 小时前
【每日算法】LeetCode124. 二叉树中的最大路径和
数据结构·算法·leetcode·面试·职场和发展
talenteddriver2 小时前
java: Java8以后hashmap扩容后根据高位确定元素新位置
java·算法·哈希算法
yyy(十一月限定版)2 小时前
c语言——栈和队列
java·开发语言·数据结构