2866. 美丽塔 II --力扣 --JAVA

题目

给你一个长度为 n 下标从 0 开始的整数数组 maxHeights 。

你的任务是在坐标轴上建 n 座塔。第 i 座塔的下标为 i ,高度为 heights[i] 。

如果以下条件满足,我们称这些塔是 美丽 的:

  1. 1 <= heights[i] <= maxHeights[i]
  2. heights 是一个 山脉 数组。

如果存在下标 i 满足以下条件,那么我们称数组 heights 是一个 山脉 数组:

  • 对于所有 0 < j <= i ,都有 heights[j - 1] <= heights[j]
  • 对于所有 i <= k < n - 1 ,都有 heights[k + 1] <= heights[k]

请你返回满足 美丽塔 要求的方案中,高度和的最大值 。

解题思路

  1. 将列表转换成数组,方便读取数据;
  2. 假设所有节点都可以作为最高峰:
    1. 当前节点小于下一节点则跳过当前节点直接使用下个节点作为最高峰;
    2. 当前节点小于等于上一节点,则当前节点的高度和一定小于等于上一节点,跳过当前节点。
  3. 以当前节点为最高峰向左右边界遍历,返回最大的高度和。

代码展示

class Solution {public long maximumSumOfHeights(List<Integer> maxHeights) {int n = maxHeights.size();int[] a = maxHeights.stream().mapToInt(i -> i).toArray();long ans = 0L;for (int num = 0; num < n; num++) {if(num < n - 1 && a[num] < a[num + 1]){continue;}if(num > 0 && a[num] <= a[num - 1]) {continue;}int left = a[num];int right = left;long res = left;for (int i = num - 1; i >= 0; i--) {int temp = a[i];if (temp > left) {res += left;} else {left = temp;res += temp;}}for (int i = num + 1; i < n; i++) {int temp = a[i];if (temp > right) {res += right;} else {res += temp;right = temp;}}ans = Math.max(ans,res);}return ans;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/235968.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【点选验证码识别】某招标网站反爬虫分析与验证码自动识别

文章目录 1. 写在前面2. 风控描述3. 验证码裁剪4. 验证码识别 【作者主页】&#xff1a;吴秋霖 【作者介绍】&#xff1a;Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作&#xff01; 【作者推荐】&#xff1a;对JS逆向感兴趣…

winlator模拟器汉化版是款功能非常强大的安卓游戏模拟器。

winlator模拟器 可以支持玩家在手机上运行各种经典游戏&#xff0c;拥有强大的兼容性&#xff0c;不同芯片、系统和手机都可以完美的运行。进入软件后&#xff0c;可以对显卡配置等进行改变&#xff0c;有利于帮助运行较新的游戏&#xff0c;同时也能够跳过配置检查。相比于其…

ssm基于javaweb的疫情管理系统的设计与实现+vue论文

摘 要 针对于疫情信息管理方面的不规范&#xff0c;容错率低&#xff0c;管理人员处理数据费工费时&#xff0c;采用新开发的疫情管理系统可以从根源上规范整个数据处理流程的正规性和合法性。 疫情管理系统实现的功能包括健康打卡管理&#xff0c;返校申请管理&#xff0c;留…

【Vulnhub 靶场】【DarkHole: 1】【简单】【20210730】

1、环境介绍 靶场介绍&#xff1a;https://www.vulnhub.com/entry/darkhole-1,724/ 靶场下载&#xff1a;https://download.vulnhub.com/darkhole/DarkHole.zip 靶场难度&#xff1a;简单 发布日期&#xff1a;2021年07月18日 文件大小&#xff1a;2.9 GB 靶场作者&#xff1a…

新手一键重装系统Win11详细教程

Win11系统如果出现了重大问题&#xff0c;无法通过简单的操作解决&#xff0c;那么我们就可以直接选择重新安装正常的操作系统。作为新手用户&#xff0c;对于装机过程不是很了解&#xff0c;那么可以参考下面小编分享的一键重新安装系统Win11的详细教程步骤&#xff0c;轻轻松…

js作用域

声明修饰符 let具有块级作用域 let声明的变量具有块级作用域,for循环流程控制部分(小括号内),循环体部分(大括号内)、以及函数体、大括号包裹的代码块、中使用let声明的变量仅在该块状作用域内可见.如果在全局环境中使用let声明则是全局变量. 在chrome控制台使用let声明变量…

速盾网络:网络安全守护者

速盾网络作为一家专业的网络安全服务提供商&#xff0c;致力于为企业和个人提供全面、高效、可靠的网络安全解决方案。以下是速盾网络的主要业务介绍&#xff1a; 一、CDN加速 速盾网络拥有全球化的CDN加速网络&#xff0c;通过分布在全球各地的节点&#xff0c;为客户提供快速…

第80讲:GTID全局事务标识符的基本概念以及在Binlog中应用GTID

文章目录 1.GTID的基本概念1.1.为什么要引入GTID1.2.什么是GTID 2.开启GTID全局事务标识符的功能3.模拟产生Binlog日志观察开启GTID功能的区别3.1.模拟产生Binlog日志3.2.观察Binlog日志中的事件信息3.2.观察节点状态有什么变化3.3.观察Binlog日志会有什么变化 4.使用GTID来截取…

HuggingFace下载模型

目录 方式一&#xff1a;网页下载 方式二&#xff1a;Git下载 方式一&#xff1a;网页下载 方式二&#xff1a;Git下载 有些模型的使用方法页面会写git clone的地址&#xff0c;有些没写&#xff0c;直接复制网页地址即可 网页地址&#xff1a; ​https://huggingface.co/…

【matlab】绘制横状双组渐变柱状图

【matlab】绘制横状双组渐变柱状图

xrandr

xrandr xrandr 是用于与 X RandR 扩展进行交互的命令行工具。它允许对 X server 进行实时配置&#xff08;即无需重新启动即可使配置生效&#xff09;&#xff0c;xrandr 提供了显示模式&#xff08;如分辨率、刷新率等&#xff09;的自动检测&#xff0c;以及动态配置输出&am…

阿里云登录镜像仓库报错: Error response from daemon: Get https://

阿里云登录镜像仓库报错: Error response from daemon: Get https:// 1. 故障现象 开发反应自用笔记本连接镜像仓库是正常的,但通过服务器连接镜像仓库一直失败. 报错信息如下: Error response from daemon: Get https://registry.cn-hangzhou.aliyuncs.com/v2/: unauthoriz…

关于“Python”的核心知识点整理大全33

目录 12.8.3 将子弹存储到编组中 alien_invasion.py 注意 12.8.4 开火 game_functions.py 12.8.5 删除已消失的子弹 alien_invasion.py 12.8.6 限制子弹数量 settings.py game_functions.py 12.8.7 创建函数 update_bullets() game_functions.py alien_invasion.py…

ssm445基于SSM的学生宿舍管理系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本学生宿舍管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息…

转行小白历险记-2023.12.19 如何解决跨域问题

讨厌突如其来的破坏计划的感觉&#xff0c;真的好烦 一、跨域以及如何解决跨域问题(反向代理) 跨域 同源&#xff1a;协议、端口、域名相同 如何解决跨域问题 jsonp:<script> 不受同源策略限制跨源域资源共享 CORS:允许 Web 应用服务器进行跨源访问控制使不同的源变成同…

Inkscape SVG 编辑器 导入 Gazebo

概述 本教程描述了拉伸 SVG 文件的过程&#xff0c;这些文件是 2D 的 图像&#xff0c;用于在 Gazebo 中为您的模型创建 3D 网格。有时是 更容易在 Inkscape 或 Illustrator 等程序中设计模型的一部分。 在开始之前&#xff0c;请确保您熟悉模型编辑器。 本教程将向您展示如…

6.5 代理j ava.lang.reflect.proxy

6.5 代理proxy java.lang.reflect.proxy&#xff0c;用于创建动态代理类和实例&#xff0c; java.lang.reflect.InvocationHandler&#xff0c;使用动态代理创建实例时&#xff0c;需提供实现接口的类的实例。提供invoke方法&#xff0c;接收三个参数&#xff1a;代理对象、…

在灾难推文分析场景上比较用 LoRA 微调 Roberta、Llama 2 和 Mistral 的过程及表现

引言 自然语言处理 (NLP) 领域的进展日新月异&#xff0c;你方唱罢我登场。因此&#xff0c;在实际场景中&#xff0c;针对特定的任务&#xff0c;我们经常需要对不同的语言模型进行比较&#xff0c;以寻找最适合的模型。本文主要比较 3 个模型: RoBERTa、Mistral-7B 及 Llama-…

二叉树..

文章目录 1. 对称二叉树-力扣 101 题2. 二叉树最大深度-力扣 104 题 前中后序非递归实现通用代码&#xff1a; LinkedList<TreeNode> stack new LinkedList<>();TreeNode curr root; // 代表当前节点 TreeNode pop null; // 最近一次弹栈的元素 while (curr ! …

webrtc支持的最小宽度和高度

代码在&#xff1a;h264/sps_parser.cc // // IMPORTANT ONES! Now were getting to resolution. First we read the pic // width/height in macroblocks (16x16), which gives us the base resolution, // and then we continue on until we hit the frame crop offsets, wh…