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/

相关推荐
一 乐18 小时前
婚纱摄影网站|基于ssm + vue婚纱摄影网站系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot·后端
Boilermaker199218 小时前
[Java 并发编程] Synchronized 锁升级
java·开发语言
MM_MS19 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
独自破碎E19 小时前
【二分法】寻找峰值
算法
꧁Q༒ོγ꧂19 小时前
LaTeX 语法入门指南
开发语言·latex
njsgcs19 小时前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
alonewolf_9919 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
码事漫谈19 小时前
Protocol Buffers 编码原理深度解析
后端
码事漫谈19 小时前
gRPC源码剖析:高性能RPC的实现原理与工程实践
后端
mit6.82420 小时前
位运算|拆分贪心
算法