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 分钟前
PTE考试谁说RS必须全对?Repeat Sentence提分从0到会就看这篇
前端·后端
野犬寒鸦2 分钟前
MySQL复习记录Day01
数据库·后端
程序员木圭2 分钟前
05-告别逻辑混乱!Java 流程控制让代码学会"判断和循环"
java·后端
ltl6 分钟前
SM3 vs SHA-256:两个哈希函数的设计哲学与性能实测
后端·算法
MmeD UCIZ6 分钟前
Skywalking介绍,Skywalking 9.4 安装,SpringBoot集成Skywalking
spring boot·后端·skywalking
ward RINL7 分钟前
Spring boot启动原理及相关组件
数据库·spring boot·后端
云天0018 分钟前
前端私活神器,nodejs+vue3+typescript全栈框架,
前端·后端·node.js
知星小度S10 分钟前
算法训练之递归(一)
数据结构·算法
Rust研习社11 分钟前
Rust 的构建脚本是什么?今天一次性搞懂它
rust
csdn2015_12 分钟前
Set<String> 类型取第一条记录
开发语言·windows·python