9.3---微众银行笔试第二题---捏泥巴人
题目描述: 输入一个n,代表数组长度 接下来输入一个数组nums,然后你可以任意给数组元素加值,加多少都行 问:最少加多少(总和),能够让数组没有重复元素
思路:
先排序
然后从第2个元素开始遍历到最后,只要这个元素小于等于上一个元素,就让它等于上一个元素+1(贪心),然后res+=(更新值减去原值)
代码:
#贪心 while(1): n = input().strip() if len(n)<=0:break n = int(n) line2 = input().strip() nums = [int(x) for x in line2.split(' ')] res = 0 for i in range(1,n): if nums[i]<=nums[i-1]: res+=(nums[i-1]+1-nums[i]) nums[i] = nums[i-1]+1 print(res)#晒一晒我的offer##webank##笔试#