小红拿到了一个数组,她每次可以任选一个区间,使得区间所有元素加1。小红想知道,使得数组中所有元素严格递增的最小操作次数是多少?
区块链毕设网qklbishe.com为您提供问题的解答
小红拿到了一个数组,她每次可以任选一个区间,使得区间所有元素加1。小红想知道,使得数组中所有元素严格递增的最小操作次数是多少?
# 贪心:区间严格递增的最少操作次数 # 4 2 9 19 2 -->将后面的数都递增:4 5 12 22 5 等价于只递增一个数:4 5 9 19 2 # 因为他们的差值不变 # 只需要找到第一个开始减小的位置,然后计算差值 n = int(input()) line1 = input() num = list(map(int, line1.split())) count = 0 dif = 0 for i in range(1,len(num)): if num[i] <= num[i-1]: dif = num[i-1] - num[i] + 1 count += dif print(count)
34:22
以上就是关于问题小红拿到了一个数组,她每次可以任选一个区间,使得区间所有元素加1。小红想知道,使得数组中所有元素严格递增的最小操作次数是多少?的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训