问题描述
小红有一个长度为 n的数组。如果存在一个长度为 3 的子数组,使得a[i]<a[i+1]<a[i+2],那么这个数组就是有趣的。每次操作可以修改数组的一个值,请问最少需要几次操作才能使得这个数组变得不有趣
输入描述
第一行输入一个整数几,表示数组的长度
第二行输入n个整数 a[1],a[2],,a[n],表示数组的初始值
1<n<10^5
1<ai < 10^9
输出描述
输出一个整数,表示答案.
示例
输入:5
6 2 4 5 1
输出:1
代码实现
def make_array_uninteresting(arr):
n = len(arr)
i = 0
while i < n - 2:
if arr[i] < arr[i+1] < arr[i+2]:
# 修改arr[i+1],使其小于arr[i]
arr[i+1] = arr[i]
i += 2
else:
i += 1
return arr
# 读取输入
length = int(input()) # 数组的长度
arr = list(map(int, input().split())) # 数组的初始值
# 调用函数使数组不再有趣
result = make_array_uninteresting(arr)
# 输出结果
print(" ".join(map(str, result)))