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/

相关推荐
Rabitebla4 分钟前
【系统性学习笔记】Linux 权限篇(二):文件属性、权限修改与目录权限的底层逻辑
linux·c++·笔记·学习·算法
system_error_x10 分钟前
C++ 编程基础入门教程
开发语言·c++
旋律41414 分钟前
同义方法区别(增加类与删除类)
java·后端
调试人生的显微镜14 分钟前
跨平台抓包工具怎么选?TraceEagle抓包鹰 的四种跨平台能力
后端·ios
Amos_Web15 分钟前
Markdonw语法
开发语言·前端·javascript
远离UE415 分钟前
半拉格朗日学习笔记 动力学 实时渲染
人工智能·算法
用户77712985091216 分钟前
常见的同义方法的区别:增加类和删除类
java·后端
房西杭19 分钟前
行会仓库 GuildStoreMgr(Lua,和 StoreMgr / BagMgr 容器接口对齐)
后端
站大爷IP23 分钟前
Python的文本IO把我坑惨了,原来read和readlines的区别这么大
后端
小郎君65823 分钟前
MPTT 不是万能编号:一棵百万节点树的增删改与批量事务
算法