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/

相关推荐
listhi52012 小时前
MATLAB电力系统加权最小二乘法(WLS)状态估计
算法·matlab·最小二乘法
青石路12 小时前
异源数据同步 → 记一次 DataX 已同步数据量优化
后端
是有头发的程序猿12 小时前
AI agent电商运营成本管控:1688运费核算及自动下单付款Python实操教程
大数据·开发语言
IT_陈寒12 小时前
被JavaScript的隐式类型转换坑到怀疑人生
前端·人工智能·后端
Epiphany.55612 小时前
树上dp问题
数据结构·算法
weixin_5206498712 小时前
Winform创建与启动
开发语言·c#
无籽西瓜a12 小时前
MD5算法原理、适用场景
java·后端·算法·哈希算法·md5
Ares-Wang12 小时前
flask 》》内置HTMLParser
后端·python·flask
承渊政道12 小时前
【动态规划算法】(简单多状态dp问题入门与经典题型解析)
数据结构·c++·学习·算法·leetcode·macos·动态规划
南境十里·墨染春水12 小时前
C++笔记——STL map
开发语言·c++·笔记