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

文章目录

题目描述

题解思路

题目所求结果存在下述等式

  • 可获得的最大点数 = 所有卡牌的点数之和 - 长度为(卡牌数量 - k)的窗口的点数之和的最小值

我们遍历长度为(卡牌数量 - k)的窗口,记录窗口内的所有点数之和的最小值

题解代码

rust 复制代码
impl Solution {
    pub fn max_score(card_points: Vec<i32>, k: i32) -> i32 {
        let k = card_points.len() - k as usize;

        let mut sum = 0;
        for i in 0..k {
            sum += card_points[i];
        }

        let mut min_win = sum;

        let mut win = sum;

        for i in k..card_points.len() {
            sum += card_points[i];
            win += card_points[i] - card_points[i-k];
            min_win = min_win.min(win);
        }

        sum - min_win
    }
}

题目链接

https://leetcode.cn/problems/maximum-points-you-can-obtain-from-cards/

相关推荐
晚风吹长发8 小时前
初步了解Linux中的线程概率及线程控制
linux·运维·服务器·开发语言·c++·centos·线程
睡一觉就好了。8 小时前
归并排序——递归与非递归的双重实现
数据结构·算法·排序算法
酉鬼女又兒8 小时前
SQL23 统计每个学校各难度的用户平均刷题数
数据库·sql·算法
毕设源码-朱学姐8 小时前
【开题答辩全过程】以 基于python网络安全知识在线答题系统为例,包含答辩的问题和答案
开发语言·python·web安全
wjs20248 小时前
PHP Misc
开发语言
Highcharts.js8 小时前
Next.js 集成 Highcharts 官网文档说明(2025 新版)
开发语言·前端·javascript·react.js·开发文档·next.js·highcharts
CodeByV8 小时前
【Qt】信号与槽
开发语言·qt
爱学习的阿磊8 小时前
模板代码跨编译器兼容
开发语言·c++·算法
毕设源码-钟学长8 小时前
【开题答辩全过程】以 基于协同过滤推荐算法的小说漫画网站设计与实现为例,包含答辩的问题和答案
算法·机器学习·推荐算法
带鱼吃猫8 小时前
C++STL:从 0 到 1 手写 C++ string以及高频易错点复盘
开发语言·c++