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/

相关推荐
Maybyy几秒前
Chart.js图标绘制工具库
开发语言·javascript·ecmascript
漂流瓶jz3 分钟前
SourceMap数据生成核心原理:简化字段与Base64VLQ编码
前端·javascript·算法
今天的砖很烫4 分钟前
ThreadLocal 中弱引用(WeakReference)设计:为什么要 “故意” 让 Key 被回收?
jvm·算法
桜吹雪7 分钟前
手搓一个简易Agent
前端·人工智能·后端
苏小瀚7 分钟前
算法---FloodFill算法和记忆化搜索算法
数据结构·算法·leetcode
William_cl11 分钟前
【ASP.NET进阶】Controller层核心:Action方法全解析,从基础到避坑
后端·asp.net
苏小瀚11 分钟前
算法---二叉树的深搜和回溯
数据结构·算法
1***s63219 分钟前
Python爬虫反爬策略,User-Agent与代理IP
开发语言·爬虫·python
柒儿吖23 分钟前
Qt for HarmonyOS 水平进度条组件开发实战
开发语言·qt·harmonyos
q***94423 分钟前
springboot接入deepseek深度求索 java
java·spring boot·后端