当前位置:首页 > 编程笔记 > 正文
已解决

Leetcode 2909. Minimum Sum of Mountain Triplets II

来自网友在路上 158858提问 提问时间:2023-10-24 14:00:13阅读次数: 58

最佳答案 问答题库588位专家为你答疑解惑

  • Leetcode 2909. Minimum Sum of Mountain Triplets II
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:2909. Minimum Sum of Mountain Triplets II

1. 解题思路

这一题思路上就是一个累积数组的思路。

我们要找一个山峰结构,使得其和最小,那么我们只需要遍历每一个位置作为峰值时其能够构成的最小山峰的和。

而对于一个确定的峰的位置,要求得其最小山峰的和,就是分别在其左右两侧取最小元素,然后判断其是否均小于这个值本身即可。

2. 代码实现

给出python代码实现如下:

class Solution:def minimumSum(self, nums: List[int]) -> int:l2r, r2l = deepcopy(nums), deepcopy(nums)n = len(nums)for i in range(n-1):l2r[i+1] = min(l2r[i], l2r[i+1])r2l[n-2-i] = min(r2l[n-1-i], r2l[n-2-i])ans = -1for i in range(1, n-1):if l2r[i-1] < nums[i] and r2l[i+1] < nums[i]:ans = min(ans, l2r[i-1] + nums[i] + r2l[i+1]) if ans != -1 else l2r[i-1] + nums[i] + r2l[i+1]return ans

提交代码评测得到:耗时959ms,占用内存31.8MB。

查看全文

99%的人还看了

相似问题

猜你感兴趣

版权申明

本文"Leetcode 2909. Minimum Sum of Mountain Triplets II":http://eshow365.cn/6-23392-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!