网站建设技术流程,大气装饰装修企业网站模版源码,大连网络运营,上海做网站哪家公司好2024-1-24 文章目录 [2865. 美丽塔 I](https://leetcode.cn/problems/beautiful-towers-i/) 2865. 美丽塔 I 初始化变量 ans 为0#xff0c;用于记录最大的和值。获取整数列表的长度#xff0c;保存到变量 n 中。使用一个循环遍历列表中的每个位置#xff0c;从0到n-1。在循…2024-1-24 文章目录 [2865. 美丽塔 I](https://leetcode.cn/problems/beautiful-towers-i/) 2865. 美丽塔 I 初始化变量 ans 为0用于记录最大的和值。获取整数列表的长度保存到变量 n 中。使用一个循环遍历列表中的每个位置从0到n-1。在循环中首先获取当前位置的高度 y并将其赋值给变量 t用于记录当前位置的和值。使用一个内层循环从当前位置向左遍历从 i-1 到0。在内层循环中更新变量 y 为当前位置与左侧位置的高度的较小值然后将 y 累加到 t 中。将变量 y 重新设置为当前位置的高度。使用另一个内层循环从当前位置向右遍历从 i1 到 n-1。在内层循环中更新变量 y 为当前位置与右侧位置的高度的较小值然后将 y 累加到 t 中。每次计算得到一个新的和值 t将其与之前记录的最大和值 ans 比较取其中较大的值作为新的最大和值并更新变量 ans。循环结束后返回最大和值 ans。
public long maximumSumOfHeights(ListInteger maxHeights) {long ans 0;int n maxHeights.size();// 遍历每一个位置for (int i 0; i n; i) {int y maxHeights.get(i);long t y;// 向左遍历计算左边最小高度的和for (int j i - 1; j 0; --j) {y Math.min(y, maxHeights.get(j));t y;}// 重置y为当前位置的高度y maxHeights.get(i);// 向右遍历计算右边最小高度的和for (int j i 1; j n; j) {y Math.min(y, maxHeights.get(j));t y;}// 更新最大和ans Math.max(ans, t);}return ans;
}
通过两个内层循环分别计算了每个位置的左侧和右侧高度最小值的和然后将二者相加得到当前位置的和值 t并与之前记录的最大和值 ans 进行比较和更新。最终返回最大和值 ans。
点击移步博客主页欢迎光临~