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/

相关推荐
刚入坑的新人编程6 分钟前
C++qt(3)-按钮类控件
开发语言·c++·qt
开始了码7 分钟前
基于 Qt 实现多客户端 TCP 通信聊天室
开发语言·数据库·php
faithher9 分钟前
Python 内存泄漏排查面试复盘
面试·职场和发展
飞Link11 分钟前
降维打击聚类难题:高斯混合模型 (GMM) 深度解析与实战
人工智能·算法·机器学习·数据挖掘·聚类
一只空白格12 分钟前
ThreadLocal的作用和底层原理
java·开发语言·jvm
今天你TLE了吗18 分钟前
JVM学习笔记:第九章——StringTable字符串常量池
java·jvm·笔记·后端·学习
无尽的罚坐人生19 分钟前
hot 100 543. 二叉树的直径
数据结构·算法·leetcode
1104.北光c°22 分钟前
JVM虚拟机【八股篇】:类加载机制与性能调优
java·开发语言·jvm·笔记·程序人生·调优·双亲委派
wuqingshun31415923 分钟前
蓝桥杯 契合匹配
算法