山峰元素是指其值大于或等于左右相邻值的元素。给定一个输入数组nums,任意两个相邻元素值不相等,数组可能包含多个山峰。找到索引最大的那个山峰元素并返回其索引。
假设 nums[-1] = nums[n] = -∞。
山峰元素是指其值大于或等于左右相邻值的元素。给定一个输入数组nums,任意两个相邻元素值不相等,数组可能包含多个山峰。找到索引最大的那个山峰元素并返回其索引。
假设 nums[-1] = nums[n] = -∞。
在命令行中输入一行数字,数字之间以空格分割,遇到换行符结束。输入的数字为整型,且总数量在10万以内。
输出索引最大的山峰的索引值(一个数字)
2 4 1 2 7 8 4
5
索引最大的山峰的高度为8,其索引为5
a = [18,12,1,2,7,14,119] b = [] if len(a) <= 1: b.append(a[i]) else: if a[0]>a[1]: b.append(a[0]) for i in range(1,len(a)-1): if a[i-1]<=a[i] and a[i+1]<=a[i]: b.append(a[i]) if a[-1]>a[-2]: b.append(a[-1]) # print(b) for j in range(len(a)): if a[j] == max(b): print(j)
nums = list(map(int, input().split()))
lon = len(nums)
# 先判断数组长度
if lon <= 1:
max_pos = 0
else:
# 第一个数和最后一个数只要判断一边就可以
if nums[0] > nums[1]:
max_pos = 0
for i in range(1,len(nums)-1):
if nums[i-1] < nums[i] and nums[i+1] < nums[i]:
max_pos = i
if nums[-1] > nums[-2]:
max_pos = len(nums)-1
print(max_pos) def peakIndex(arr):
arr.insert(0,float('-inf'))
arr.append(float('-inf'))
res = []
for i in range(1,len(arr)-1):
if arr[i]>= arr[i-1] and arr[i]>=arr[i+1]:
res.append(i-1)
return max(res)
if __name__ == '__main__':
arr = list(map(int,input().split()))
print(peakIndex(arr))