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/

相关推荐
宣宣猪的小花园.12 小时前
【机器学习】损失函数与梯度下降:机器如何通过“犯错”不断变好
人工智能·算法·机器学习
无限压榨切图仔12 小时前
一个优惠券需求改了三端,我才明白全栈不是多学一门语言
前端·后端
CRZZX12 小时前
阶段 0.1:为 AI Agent 项目建立敏感配置治理与安全基线
后端
Zane199412 小时前
用了Optional,为什么NPE还是防不住?
java·后端
yunwei3712 小时前
eBPF 示例教程:实现 `scx_nest` 调度器
linux·后端·性能优化
薛定谔的算法12 小时前
从 NestJS 到 Spring Boot:一次完整的 Node.js → Java 后端迁移实战
后端
Shinomiya12 小时前
我最近在学 Linux 进程控制:fork、退出码与进程等待
后端
雪落漂泊12 小时前
C++11(上)
开发语言·c++
企业数字化笔记12 小时前
固定资产Excel批量导入怎么防重复?资产编码、重复检查和错误回执
java·后端·excel
Kapaseker12 小时前
以为 Rust 快了 50000 倍,结果编译器根本没算
rust