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/

相关推荐
用户07236706660几秒前
日志脱敏:不改业务代码,单遍扫描完成替换
后端
lightning_bug4 分钟前
docker部署黑马笔记
后端·架构
威哥爱编程6 分钟前
【AI全栈12-10】Spring Boot 用多模态做商品图审核 / 发票识别
java·spring boot·后端
bruce541107 分钟前
给 UniRAG RAG 配一个前端,为什么最后选了 Lobe UI
后端
Soari9 分钟前
交换机转发模式
开发语言·网络·php
imDwAaY9 分钟前
用户态与内核态到底怎么切换?从系统调用到上下文切换
后端·操作系统
杜 硕11 分钟前
快速排序02
算法·排序算法
imDwAaY12 分钟前
进程、线程、协程有什么区别?从资源分配到调度,一篇理清
后端·操作系统
威哥爱编程15 分钟前
【AI全栈12-09】Spring Boot 用流式输出做打字机对话:点下去不再干等
java·spring boot·后端
careathers18 分钟前
【数据结构】二叉树拓展
数据结构·算法