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/

相关推荐
打工仔折腾 AI5 分钟前
Prometheus 告警推钉钉:从单群 Webhook 到跨网络 Alertmanager 实战
人工智能·后端·python·性能优化
Ivanqhz10 分钟前
Ping-Pong 双缓冲
开发语言·人工智能·python·深度学习·mlir
m0_7345717613 分钟前
深入理解C++ RAII
开发语言·c++
console.log('npc')15 分钟前
06 — Model 层:数据模型与操作
前端·后端·node.js·express
泡海椒17 分钟前
jquick-pdf 表格实战:动态数据 PDF 报表生成
java·开发语言·pdf
天真小巫24 分钟前
2026.9.19总结
职场和发展
aramae25 分钟前
模拟实现memset()(C语言)
c语言·开发语言·后端
reikocao30 分钟前
大场景下 Hessian 特征值放大与退化检测
算法
hetao173383735 分钟前
2026-09-18 hetao1733837 的刷题记录
c++·算法
2501_933923251 小时前
Spring Bean作用域揭秘:单例、原型、请求与会话的区别
java·后端·spring·java-ee