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/

相关推荐
爱编程的化学家1 分钟前
代码随想录算法训练营第27天 -- 动态规划1 || 509.斐波那契数列 / 70.爬楼梯 / 746.使用最小花费爬楼梯
数据结构·c++·算法·leetcode·动态规划·代码随想录
yeyong1 分钟前
如何让 docker镜像使用系统时间,而不是utc
后端
Penge6665 分钟前
分布式与集群:从概念到跨机房部署
后端
凉城a7 分钟前
经常看到的IPv4、IPv6到底是什么?
前端·后端·tcp/ip
CoovallyAIHub12 分钟前
告别等待!十条高效PyTorch数据增强流水线,让你的GPU不再"饥饿"
深度学习·算法·计算机视觉
蓝宝石Kaze13 分钟前
Go + SNS + SQS + Localstack 实现消息队列
后端·aws
jserTang14 分钟前
Cursor Plan Mode:AI 终于知道先想后做了
前端·后端·cursor
123445214 分钟前
令牌桶算法简单实现及思考
后端
木觞清18 分钟前
喜马拉雅音频链接逆向实战
开发语言·前端·javascript
SimonKing18 分钟前
SpringBoot集成:5分钟实现HTML转PDF功能
java·后端·程序员