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/

相关推荐
jserTang14 小时前
手撕 Claude Code-4: TodoWrite 与任务系统
前端·javascript·后端
jserTang14 小时前
手撕 Claude Code-5:Subagent 与 Agent Teams
前端·javascript·后端
柯西劝我别收敛14 小时前
K8s Scheduling Framework 解析
后端
沐知全栈开发14 小时前
CSS Text(文本)
开发语言
会编程的土豆14 小时前
【日常做题】 代码随想录(岛屿最大面积+寻宝)
数据结构·算法·图论
前进吧-程序员14 小时前
现代 C++ 异步编程:从零实现一个高性能 ThreadPool (C++20 深度实践)
开发语言·c++·c++20
阿洛学长14 小时前
汉洛塔结构思维
算法
木子n115 小时前
第2篇:坐标变换与数学基础:FOC算法的核心数学工具
算法·电机控制·foc
Rsun0455115 小时前
10、Java 桥接模式从入门到实战
java·开发语言·桥接模式
金銀銅鐵15 小时前
[Java] 从 class 文件看 cglib 对 MethodInterceptor 的处理 (下)
java·后端