北京建站公司哪家好都选万维科技电脑维护网站模板
news/
2025/10/8 21:37:09/
文章来源:
北京建站公司哪家好都选万维科技,电脑维护网站模板,专业企业网站建设哪家服务好,网站建设去哪里找客户题目链接
2865. 美丽塔 I - 力扣#xff08;LeetCode#xff09;
解题思路
根据题意可以知道#xff0c;假设数组的长度为n,对于山状数组heights定义如下#xff1a;
假设heights[i]为数组中的最大值#xff0c;则i左边的值均小于等于heights[i]#xff0c;i右边的值…题目链接
2865. 美丽塔 I - 力扣LeetCode
解题思路
根据题意可以知道假设数组的长度为n,对于山状数组heights定义如下
假设heights[i]为数组中的最大值则i左边的值均小于等于heights[i]i右边的值均小于等于heights[i]i的左侧从0开始到i为非递归递减关系即j属于[1,i]时均满足heights[j-1]heights[j];i的右侧从i开始到n-1为非递归关系即j属于[i,n-2]时均满足heights[j1]heights[j];
题目给出了山状数组中每个元素的上限即heights[i]maxheights[i]题目要求返回的山状数组左右元素之和的最大值。根据以上分析可知
对于j属于[0,i-1]时此时max(heights[j]) min(heights[j 1], maxHeights[j]);对于j属于[i!,n-1]时此时max(heights[j]) min(heights[j -1],maxHeights[j]);假设此时山状数组的山顶为heights[i]此时整个山状数组的所有元素的最大值即可确定此时山状数组的所有元素的最大值即可确定对于数组中的每个元素尽量取最大值使得整个数组元素之和最大。
解题代码
class Solution:def maximumSumOfHeights(self, maxHeights: List[int]) - int:n len(maxHeights)res 0for i in range(n):pre, psum maxHeights[i], maxHeights[i]for j in range(i - 1, -1, -1):pre min(pre, maxHeights[j])psum presuf maxHeights[i]for j in range(i 1, n):suf min(suf, maxHeights[j])psum sufres max(res, psum)return res
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931969.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!