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

【每日一题】1423. 可获得的最大点数-2023.12.3

题目:

1423. 可获得的最大点数

几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。

每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。

你的点数就是你拿到手中的所有卡牌的点数之和。

给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大点数。

示例 1:

输入:cardPoints = [1,2,3,4,5,6,1], k = 3
输出:12
解释:第一次行动,不管拿哪张牌,你的点数总是 1 。但是,先拿最右边的卡牌将会最大化你的可获得点数。最优策略是拿右边的三张牌,最终点数为 1 + 6 + 5 = 12 。

示例 2:

输入:cardPoints = [2,2,2], k = 2
输出:4
解释:无论你拿起哪两张卡牌,可获得的点数总是 4 。

示例 3:

输入:cardPoints = [9,7,7,9,7,7,9], k = 7
输出:55
解释:你必须拿起所有卡牌,可以获得的点数为所有卡牌的点数之和。

示例 4:

输入:cardPoints = [1,1000,1], k = 1
输出:1
解释:你无法拿到中间那张卡牌,所以可以获得的最大点数为 1 。 

示例 5:

输入:cardPoints = [1,79,80,1,1,1,200,1], k = 3
输出:202

提示:

  • 1 <= cardPoints.length <= 10^5
  • 1 <= cardPoints[i] <= 10^4
  • 1 <= k <= cardPoints.length

解答:

代码:

class Solution {public int maxScore(int[] cardPoints, int k) {int n=cardPoints.length;//晃动窗口大小为n-kint windowSize=n-k;//选前n-k个作为初始值int sum=0;for(int i=0;i<windowSize;i++){sum+=cardPoints[i];}int minSum=sum;for(int i=windowSize;i<n;i++){//滑动窗口每向右移动一格,增加从右侧进入窗口的元素值,并减少从左侧离开窗口的元素值sum+=cardPoints[i]-cardPoints[i-windowSize];minSum=Math.min(minSum,sum);}return Arrays.stream(cardPoints).sum()-minSum;}
}

结果:

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

相关文章:

  • VSCode修改C++版本
  • 31-WEB漏洞-文件操作之文件包含漏洞全解
  • 预约系统源码解析:打造智能定制化预约服务的技术奇迹
  • 关于Maxscript你了解多少?
  • Xshell全局去除提示音
  • JAVA代码优化:Spring中redis的工具类
  • MathType 7.5.2中文版软件使用期到了怎么办?
  • DOM 事件的注册和移除
  • 挖漏洞之SQL注入
  • 面试篇之微服务(二)
  • java封装详解
  • Make sure bypassing Vue built-in sanitization is safe here.
  • 企业的内容站点SEO应该怎么做更有效果?
  • mac电脑下载Netflix Mac(奈飞客户端)安装教程
  • PCL 计算点云图中任意两点的欧式距离
  • 使用OssImport 工具将文件上传到阿里云OSS
  • 充电桩新老国标兼容性分析
  • ApiSix的docker 容器化部署及使用
  • 第十节HarmonyOS 使用资源引用类型
  • ntopng如何将漏洞扫描与流量监控相结合,以提高网络安全性
  • 使用coco数据集进行语义分割(1):数据预处理,制作ground truth
  • 神经网络 模型表示2
  • ubuntu使用SSH服务远程登录另一台设备
  • 读书笔记:《Effective Modern C++(C++14)》
  • PCL 点云加权均值收缩
  • 计算机毕业设计 基于协同推荐的白酒销售管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • React-hook-form-mui(五):包含内嵌表单元素的表单
  • 【内网安全】搭建网络拓扑,CS内网横向移动实验
  • 1、输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。
  • 戴尔科技推出全新96核Precision 7875塔式工作站