当前位置: 首页 > news >正文

力扣刷题第十天 美丽塔 一

给你一个长度为 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]

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

示例一:

输入:maxHeights = [5,3,4,1,1]
输出:13
解释:和最大的美丽塔方案为 heights = [5,3,3,1,1] ,这是一个美丽塔方案,因为:
- 1 <= heights[i] <= maxHeights[i]  
- heights 是个山脉数组,峰值在 i = 0 处。
13 是所有美丽塔方案中的最大高度和。

示例二:

输入:maxHeights = [5,3,4,1,1]
输出:13
解释:和最大的美丽塔方案为 heights = [5,3,3,1,1] ,这是一个美丽塔方案,因为:
- 1 <= heights[i] <= maxHeights[i]  
- heights 是个山脉数组,峰值在 i = 0 处。
13 是所有美丽塔方案中的最大高度和。

解题思路:对山状数组进行分析 ,发现山状数组在最大值前为非递减,最大值后为非递增,枚举遍历数组中每个数字为最大值,记录获得的最大值。

代码:

class Solution {
public:long long maximumSumOfHeights(vector<int>& maxHeights) {int n = maxHeights.size();long long res = 0;for (int i = 0; i < n; i++) {int p = maxHeights[i];long long sum = p;for (int j = i - 1; j >= 0; j--) {p = min(p, maxHeights[j]);sum += p;}int s = maxHeights[i];for (int j = i + 1; j < n; j++) {s = min(s, maxHeights[j]);sum += s;}res = max(res, sum);}return res;}
};

http://www.lryc.cn/news/286865.html

相关文章:

  • c# ADODB.Recordset实例调用Fields报错
  • windows和linux下SHA1,MD5,SHA256校验办法
  • 高新技术企业申报需要具备哪些条件?
  • 测试不拘一格——掌握Pytest插件pytest-random-order
  • DophineScheduler通俗版
  • 企业如何稳步开启SASE实施之路
  • 【Oracle】收集Oracle数据库内存相关的信息
  • MySQL也开始支持JavaScript了
  • 百度大脑 使用
  • Spring Boot 中的外部化配置
  • 10个常考的前端手写题,你全都会吗?(下)
  • Java 面试题库
  • 仿真机器人-深度学习CV和激光雷达感知(项目2)day6【数学基础-坐标变换】
  • Android下载gradle失败解决方法
  • C#,最小生成树(MST)克鲁斯卡尔(Kruskal)算法的源代码
  • Oracle篇—参数文件在11gRAC或12cRAC的启动位置介绍
  • scrapy pipelines
  • element-ui 打包流程源码解析——babel 相关
  • 听神经瘤的听力学表现
  • C#用DateTime.Now静态属性返回日期的星期信息
  • ARMv8-AArch64 的异常处理模型详解之异常类型 Exception types
  • Linux操作系统概念
  • Speech | 人工智能中关于语音务必需要了解的基础知识(信号处理)及代码
  • c# 单例模式实现
  • 万字长文详解Java线程池面试题
  • 【jQuery入门】链式编程、修改css、类操作和className的区别
  • 使用的uview 微信高版本 头像昵称填写能力
  • Hadoop3完全分布式搭建
  • 中断——外部中断EXIT
  • Kafka-服务端-副本机制