相邻的波峰减去相邻的波谷

在这里插入图片描述

def find_peak_trough_differences(nums):
    # 边界检查
    if len(nums) < 3:
        return []

    differences = []

    # 遍历列表以找到峰值并计算差值
    for i in range(1, len(nums) - 1):
        # 检查当前元素是否为峰值
        if nums[i] > nums[i - 1] and nums[i] > nums[i + 1]:
            # 查找左侧谷值
            left_trough = nums[i - 1]
            for j in range(i - 1, -1, -1):
                if j != 0:
                    if nums[j] < nums[j + 1] and nums[j]<nums[j-1] :
                        left_trough = nums[j]
                        break
                else:
                        left_trough = nums[0]
                    # 查找右侧谷值
            right_trough = nums[i + 1]
            for k in range(i+1, len(nums)):
                if k!=len(nums)-1:
                    if nums[k] < nums[k - 1] and nums[k]<nums[k+1]:
                        right_trough = nums[k]
                        break
                else:
                        right_trough = nums[-1]
                    # 计算差值并添加到列表中
            differences.append(nums[i] - left_trough)
            differences.append(nums[i] - right_trough)

    return differences


# 测试代码
nums = [1, 3, 5, 4, 2, 8, 10, 9, 7, 6]

# nums = [10,7,6,5,8,9,12,6,7,8,13,2,1]
print(find_peak_trough_differences(nums))

结果为5-1,5-2,10-2,10-6

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 11:02:02       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 11:02:02       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 11:02:02       62 阅读
  4. Python语言-面向对象

    2024-07-16 11:02:02       72 阅读

热门阅读

  1. DangerWind-RPC-framework---五、服务端的反射调用

    2024-07-16 11:02:02       27 阅读
  2. LeetCode 162. 寻找峰值

    2024-07-16 11:02:02       24 阅读
  3. 来聊聊Socket,WebSocket和MQTT的区别

    2024-07-16 11:02:02       23 阅读
  4. 探索老年综合评估实训室的功能与价值

    2024-07-16 11:02:02       24 阅读
  5. com.alibaba.fastjson与net.sf.json相互转换

    2024-07-16 11:02:02       21 阅读
  6. 结合案例简单介绍无人驾驶汽车

    2024-07-16 11:02:02       21 阅读
  7. Super-Mario-Host(超级玛丽)靶机

    2024-07-16 11:02:02       24 阅读
  8. 大语言模型里的微调vs RAG vs模板提示词

    2024-07-16 11:02:02       23 阅读
  9. 低空经济迅猛发展的几个因素

    2024-07-16 11:02:02       21 阅读