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/

相关推荐
2601_956121971 分钟前
Bellman-ford算法
算法
y = xⁿ4 分钟前
DeepSeek harness工具系统什么设计的?
开发语言·python
叠层归一研究院7 分钟前
基于区分本源的此刻存在唯一性本体论推演
人工智能·算法
luj_17688 分钟前
尾椎藏今生记忆?骨盆对应不确定性
开发语言·网络·c++·经验分享·算法
深圳多奥智能一卡(码、脸)通系统10 分钟前
智能梯控SDK可直接用于第三方开发对接的接口文档说明书
服务器·前端·算法
ttwuai12 分钟前
Go 后台接入 CAS 单点登录后,原来的权限怎么继续生效?
开发语言·后端·golang
RisunJan14 分钟前
uni-app 面试知识点梳理
面试·职场和发展·uni-app
断点之下19 分钟前
C++类和对象:六个默认成员函数详解
开发语言·c++
吴声子夜歌25 分钟前
Java——类、对象及方法(二)
java·开发语言
2401_8906034027 分钟前
Python入门语法(一)
java·开发语言·python