山峰元素是指其值大于或等于左右相邻值的元素。给定一个输入数组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))