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/

相关推荐
码农葫芦侠20 小时前
Rust学习教程2:基本语法
开发语言·学习·rust
aaa78721 小时前
Codeforces Round 1080 (Div. 3) 题解
数据结构·算法
键盘鼓手苏苏21 小时前
Flutter for OpenHarmony 实战:Envied — 环境变量与私钥安全守护者
开发语言·安全·flutter·华为·rust·harmonyos
特种加菲猫21 小时前
C++核心语法入门:从命名空间到nullptr的全面解析
开发语言·c++
坚持就完事了21 小时前
Java泛型
java·开发语言
浮生091921 小时前
DHUOJ 基础 85 86 87
数据结构·c++·算法
Channing Lewis21 小时前
zoho crm的子表添加行时,有一个勾选字段,如何让它在details页面新建子表行(点击add row)时默认是勾选的
开发语言·前端·javascript
亓才孓21 小时前
[Spring测试]TestRestTemplate
java·后端·spring
Miqiuha1 天前
工作答辩框架
java·开发语言
happymaker06261 天前
Java学习日记——DAY25(JavaSE完结)
java·开发语言·学习