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/

相关推荐
lvwangshu7 分钟前
AC 自动机
算法·字符串
曹牧13 分钟前
C#:线程间操作无效,不是从创建控件线程访问
开发语言·c#
承渊政道2 小时前
【Python编程—从入门到实践】(Python条件判断完全入门:从布尔表达式到列表中的if实战)
开发语言·python·pycharm·条件判断·布尔表达式
小灰灰搞电子2 小时前
Rust 相关容器(集合)详解
开发语言·容器·rust
烂蜻蜓3 小时前
Flask入门教程(二十六):Session API——用户会话状态管理
后端·python·flask
郑州光合科技余经理5 小时前
本地生活服务系统:成品模块和定制接口怎么划界
java·前端·人工智能·后端·系统架构·php·ai编程
萧瑟余晖5 小时前
Java深入解析篇三十三之密封类与接口(Sealed Classes)详解
java·开发语言
论迹复利9 小时前
FreeRTOS 在 RISC-V 上是如何“点火“的 —— 从 main() 到第一个任务的完整链路
java·开发语言·risc-v
张宇Joaquin9 小时前
鲲鹏统一并行加速库KUPL--众核并行能力介绍
java·开发语言·网络
736c9 小时前
C语言-数组 07
c语言·开发语言