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

1423. 可获得的最大点数 --力扣 --JAVA

题目

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

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

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

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

解题思路

  1. 先从一边获取所有卡片;
  2. 逐个替换成另一侧的卡片;
  3. 每次替换后比较大小选择最大值;

代码展示

class Solution {
    public int maxScore(int[] cardPoints, int k) {
        int ans = 0;
        //先全部从左边取值
        for (int i = 0; i < k; i++){
            ans += cardPoints[i];
        }
        int n = cardPoints.length;
        int index = 1;
        int temp = ans;
        while (index <= k){
            //逐个替换成右边值再比较
            temp = temp - cardPoints[k - index] + cardPoints[n - index];
            ans = Math.max(ans, temp);
            index++;
        }
        return ans;
    }
}


http://www.kler.cn/a/154862.html

相关文章:

  • Ubuntu-手动安装 SBT
  • C++中常用的排序方法之——冒泡排序
  • 【Rust自学】14.6. 安装二进制crate
  • android 音视频系列引导
  • 使用 postman 测试思源笔记接口
  • 使用CSS实现一个加载的进度条
  • Mysql 主从一致性检测
  • Mongoose 开源库--http协议 header 报头解析
  • 测试:性能测试
  • CSS:calc() 函数 / 动态计算长度值 / 不同场景使用
  • Django如何设置时区为北京时间?
  • iRDMA流量控制总结 - 5
  • 手摸手Element-ui路由VueRoute
  • RHEL8更新安全补丁,删除旧内核
  • Qt将打印信息输出到文件
  • ios(swiftui) 属性包装器详解
  • 手机爬虫用Fiddler详细教程
  • rust 日期和时间格式化输出
  • 关于IP与端口以及localhost
  • 【动态规划】LeetCode-931.下降路径最小和
  • 万界星空科技智能工厂主要建设模式
  • 工业机器视觉megauging(向光有光)使用说明书(三,轻量级的visionpro)
  • Python concurrent.futures实现多进程多线程编程
  • Redis数据存储:高效、灵活、实时
  • Google Chrome 下载 (离线版)
  • 职位招聘管理与推荐系统Python+Django网页界面+协同过滤推荐算法