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/

相关推荐
aaPIXa6222 分钟前
C++模板元编程:在编译期完成计算,实现零运行时开销
java·开发语言·c++
Ivanqhz8 分钟前
注意力机制
线性代数·算法·矩阵·哈希算法·dnn
z小猫不吃鱼11 分钟前
02 Optimal Brain Damage 详解:二阶信息剪枝的起点
算法·机器学习·剪枝
程序员爱钓鱼18 分钟前
为什么学习 Rust?Rust 能做什么?
后端·rust
m0_6265352022 分钟前
近似attention
人工智能·算法·机器学习
夜郎king25 分钟前
RuoYi-Vue3 企业级后台快速落地实战指南
java·开发语言
atunet1 小时前
关于算法优化的渐进式重构与代码级实践的技术7
算法
江华森1 小时前
exp01_Python_数据类型
开发语言·python
希冀1231 小时前
【JavaScript】Javascript—JS进阶—Day03
开发语言·javascript·原型模式
掘金者阿豪1 小时前
Docker命令太多记不住?用Portainer把容器管理变成可视化操作
后端