竞赛类试题及答案.docxVIP

  • 1
  • 0
  • 约1.05千字
  • 约 3页
  • 2026-09-24 发布于四川
  • 举报

竞赛类试题及答案

题目:给定一个整数数组,找出数组中的所有峰值元素。

峰值元素是指其值大于左右相邻元素的元素。例如,在数组[1,2,3,1]中,峰值元素是2和3。

输入:整数数组nums,其中nums[i]!=nums[i+1]对于任意的i。

输出:返回一个包含所有峰值元素的数组。

示例输入:[1,2,3,1,4,3,2,5,6]

示例输出:[2,3,4,5,6]

详细解答:

```python

deffind_peaks(nums):

边界处理:如果数组为空或者只有一个元素,则没有峰值

ifnotnumsorlen(nums)==1:

return[]

初始化峰值列表

peaks=[]

遍历数组,寻找峰值

foriinrange(1,len(nums)1):

判断当前元素是否大于左右相邻元素

ifnums[i]nums[i1]andnums[i]nums[i+1]:

peaks.append(nums[i])

处理边界峰值:如果数组的首元素是峰值,则添加到结果中

ifnums[0]nums[1]:

文档评论(0)

1亿VIP精品文档

相关文档