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/

相关推荐
geovindu3 分钟前
java: Factory Method Pattern
java·开发语言·后端·设计模式·工厂方法模式·创建型模式
voicelen7 分钟前
一通电话背后有多少角色?我拆了 Voicelen 的调度台给你看
后端
z小猫不吃鱼11 分钟前
模型剪枝经典论文精读:Channel Pruning for Accelerating Very Deep Neural Networks
算法·机器学习·剪枝
用户80172204163912 分钟前
BarQode:C# 条码二维码生成库
后端
考虑考虑17 分钟前
kafka4安装
后端·kafka·自动化运维
m0_5870989923 分钟前
Qt,二进制文件读写建议
开发语言·qt
orient24 分钟前
慢查询优化 10 招:从 EXPLAIN 到索引重建
后端
njsgcs28 分钟前
已知链中心距用节数算中间电机摆放位置 常量弧长 三链轮弦长模型算法
算法
爱敲代码的小鱼28 分钟前
springsecurity:
java·开发语言·数据库
秋田君30 分钟前
QT_QT信号与槽机制
开发语言·数据库·qt