赞
踩
目录
幼儿园组织活动,老师布置了一个任务:每个小朋友去了解与自己同一个小区的小朋友还有几个.我们将这些数量汇总到数组 garden 中。
请根据这些小朋友给出的信息,计算班级小朋友至少有多少个?(至少来自几个小区)
输入描述
输入: garden = [2,2,3]
garden 数组长度最大为 999
每个小区的小朋友数量最多 1000 人,也就是 garden的范围为 [0,999]
输出描述
一个整数代表班级小朋友至少来自几个小区
示例1:
输入:
2 2 3
输出:
7
说明:
第一个小朋友反馈有两个小朋友和自己同一小区,即此小区有3个小朋友。第二个小朋友反馈有两个小朋友和自己同一小区,即此小区有3个小朋友。这两个小朋友,可能是同一小区的,且此小区的小朋友只有3个人。第三个小区反馈还有3个小朋友与自己同一小区,则这些小朋友只能是另外一个小区的。这个小区有4个小朋友。
- import math
- from collections import Counter
-
- lst = list(map(int, input().split(' ')))
- counter = Counter(lst)
- res = 0
- for key, count in counter.items():
- if count <= key:
- res += key + 1
- else:
- res += (key + 1) * (math.ceil(count / (key + 1)) + count % (key + 1))
- print(res)
-
- # import math
- #
- # nums = [int(x) for x in input().split(" ")]
- # zones = [0 for x in range(1000)]
- # count = 0
- #
- # i = 0
- # while (True):
- # if (i >= len(nums)):
- # break
- # else:
- # zones[nums[i]] += 1
- #
- # i += 1
- #
- # for j in range(1000):
- # if (zones[i] <= 0):
- # continue
- # else:
- # total = math.ceil(zones[j] / (j + 1))
- # count += total * (j + 1)
- # print(count)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。