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

Leetcode1793. Maximum Score of a Good Subarray

给定一个数组和一个下标 k k k

子数组 ( i , j ) (i,j) (i,j)分数定义为 min ⁡ ( n u m s [ i ] , n u m s [ i + 1 ] , ⋯ , n u m s [ j ] ) ∗ ( j − i + 1 ) \min\left(nums[i], nums[i +1],\cdots, nums[j]\right)*\left(j-i+1\right) min(nums[i],nums[i+1],,nums[j])(ji+1)
其中 i ≤ k ≤ j i\le k \le j ikj

找到最大的子数组分数

其实这题有点像是接雨水那个题目

k k k出发,哪一边大就往哪一边扩展

class Solution {
public:int maximumScore(vector<int>& nums, int k) {int n = nums.size();int left = k;int right = k;int ans = nums[k];int cur = nums[k];while(left > 0 || right < n - 1){if((left > 0 ? nums[left - 1]: 0) < (right < n - 1? nums[right + 1]: 0)){++right;cur = min(cur, nums[right]);}else{--left;cur = min(cur, nums[left]);}ans = max(ans, cur * (right - left + 1));}return ans;}
};

时间复杂度 O ( n ) O(n) O(n)

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

相关文章:

  • 只需五步,在Linux安装chrome及chromedriver(CentOS)
  • 第01章-Java语言概述
  • Spring | Spring Cache 缓存框架
  • 雷达开发的基本概念fft,cfar,以及Clutter, CFAR,AoA
  • 什么是大数据测试?有哪些类型?应该怎么测?
  • 03-垃圾收集策略与算法
  • 1.AUTOSAR的架构及方法论
  • Kotlin中的List集合
  • 微信小程序WeUI项目weui-miniprogram如何运行起来?
  • MapReduce编程:检索特定群体搜索记录和定义分片操作
  • pytorch 入门 (四)案例二:人脸表情识别-VGG16实现
  • 数据结构--线性表回顾
  • ChatGPT(1):ChatGPT初识
  • PostgreSQL 插件 CREATE EXTENSION 原理
  • Android常见分区
  • 华为鸿蒙4谷歌GMS安装教学
  • 原型设计工具:Balsamiq Wireframes 4.7.4 Crack
  • Nginx Proxy代理
  • SparkSQL之LogicalPlan概述
  • Ubuntu 安装 kubectl、kubeadm 和 kubelet
  • C语言获取文件长度
  • 【面试经典150 | 哈希表】快乐数
  • ETL实现实时文件监听
  • Openssl数据安全传输平台003:Protobuf - 部署
  • Proteus仿真--一种智能频率计的设计与制作(AVR单片机+proteus仿真)
  • CAS是“Compare and Swap“(比较并交换)
  • 前端数据可视化之【series、series饼图配置】配置项
  • 03.MySQL事务及存储引擎笔记
  • input框输入中文时,输入未完成触发事件。Vue中文输入法不触发input事件?
  • ArmSoM-RK3588编解码之mpp解码demo解析:mpi_dec_test