用python来解 PAT 1060爱丁顿数
根据题意,一组数据里面,有N个大于N的数据,求对于一组数据的最大N值
题目给出天数和每天的运动里程,第一步应该就是将数据排序,然后直接遍历加切片判断,至于递增还是递减可以思考看看,如果是递增数列,对于其后的数,只能保证是大于等于它的关系,如果同个数值有多个就显得麻烦了,所以我这里用的是递减,然后直接判断前面的数的个数就ok,代码如下:
n = int(input())#连续骑车的天数 l = [x for x in map(int,input().split())] l.sort() l.reverse() sum = 0 for i in range(n): if l[i] > sum + 1: sum +=1 print(sum)
提交结果: