Rust 力扣 - 1652. 拆炸弹

文章目录

题目描述

题解思路

我们只需要遍历长度长度为k的窗口,然后把窗口内数字之和填充到结果数组中的对应位置即可

题解代码

rust 复制代码
impl Solution {
    pub fn decrypt(code: Vec<i32>, k: i32) -> Vec<i32> {
        let n = code.len();
        let mut ans = vec![0i32; n];

        if k == 0 {
            return ans;
        }

        let mut sum = 0;

        if k > 0 {
            for i in 1..=k as usize {
                sum += code[i];
            }
        
            ans[0] = sum;
        
            for i in 1..n {
                sum += code[(i + k as usize) % n] - code[i];
                ans[i] = sum;
            }    
        } else {
            for i in k..0 {
                sum += code[n + i as usize];
            }

            ans[0] = sum;

            for i in 1..n {
                sum += code[i - 1] - code[(i + k as usize - 1 + n) % n];
                ans[i] = sum;
            }
        }

        ans
    }
}

题目链接

https://leetcode.cn/problems/defuse-the-bomb/

相关推荐
Raink老师18 小时前
【AI面试临阵磨枪-80】高并发、低延迟、高可用 AI 服务落地经验
人工智能·面试·职场和发展
lly20240618 小时前
Linux Memcached 安装指南
开发语言
JavaGuide18 小时前
终于有好用的 Claude Code 状态栏增强插件了!
前端·后端·ai编程
止语Lab18 小时前
从文件到配置中心:Go 配置管理的三个升级拐点
开发语言·后端·golang
小张小张爱学习18 小时前
Java-io流
java·开发语言
wjs202418 小时前
C 错误处理
开发语言
mahuifa18 小时前
(25)python开发经验
开发语言·python·开发经验
吃好睡好便好18 小时前
矩阵的求幂运算
人工智能·学习·线性代数·算法·matlab·矩阵
计算机安禾18 小时前
【算法分析与设计】第18篇:改进的最大流算法:Edmonds-Karp与Dinic
大数据·人工智能·算法
l1t18 小时前
DeepSeek总结的使用实体-组件-系统和基于存在性处理进行Python编程9-11
开发语言·python