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/

相关推荐
sheeta19981 天前
LeetCode 补拙笔记 日期:2026.06.07 题目:128. 最长连续序列
笔记·算法·leetcode
程序员黑豆1 天前
全新系列开启:AI 全栈开发
前端·后端·全栈
自进化Agent智能体1 天前
Skill Marketplace架构:AI能力的民主化与生态建设
后端
ZC跨境爬虫1 天前
跟着 MDN 学JavaScript day_9:字符串方法实战挑战与解题思路
开发语言·前端·javascript
sheeta19981 天前
LeetCode 补拙笔记 日期:2026.06.07 题目:1. 两数之和
笔记·算法·leetcode
千云1 天前
ClaudeCode Skill生成教学培训文档,助力新人快速学习项目
人工智能·后端·ai编程
mit6.8241 天前
并发协调的代价
rust
柒和远方1 天前
LeetCode 452. 用最少数量的箭引爆气球 —— 区间贪心经典:排序 + 扫描一箭穿心
javascript·python·算法
fliter1 天前
Rust 构建为什么这么慢?从工具链底层到实际优化的完整排查指南
后端
青春:一叶知秋1 天前
【C++】protobuf序列化与反序列化
开发语言·c++