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/

相关推荐
AI科技星4 分钟前
《01无穷全域信息场论:算子G与宇宙本体高维完备公理大典》
人工智能·python·算法·金融·乖乖数学·全域数学
KobeSacre15 分钟前
DelayQueue 源码
java·开发语言
AskHarries16 分钟前
用 OpenClaw 做视频脚本:选题、分镜、旁白和镜头表
后端·程序员
Tim_1018 分钟前
【C++】013、空类占多少字节?
算法
Ricky_Theseus22 分钟前
并查集:连通性问题
算法
han_hanker28 分钟前
重新认识枚举enum
开发语言
狂炫冰美式29 分钟前
凌晨睡不着,我给台风巴威写了个追踪网站
前端·后端·github
qzhqbb39 分钟前
字节面试分享复盘
面试·职场和发展
程序员cxuan1 小时前
Claude Code 焚诀(一):Claude Code 六种心智模型
人工智能·后端
Tairitsu_H1 小时前
[LC优选算法#18] 前缀和 | 除⾃⾝以外数组的乘积 | 和为K的⼦数组 | 和可被K整除的⼦数组
算法·前缀和·哈希算法