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/

相关推荐
学逆向的12 分钟前
C 内存属性
c语言·开发语言·算法·网络安全
武子康23 分钟前
Vercel Cache Reason:相同 MISS,怎样决定下一步查什么
人工智能·后端·agent
lengxuenong32 分钟前
树状数组 · 信息学学习手册1-求和3个模板
c++·学习·算法·青少年编程
zhangminghuan37 分钟前
前端面试应对技巧
前端·面试·职场和发展
ComputerInBook41 分钟前
泛函分析概观
人工智能·算法·机器学习·泛函分析
康小旺42 分钟前
TypeScript 编译器开始卷 Rust 了:Cloudflare 的 tsrs 到底想干嘛?
rust·typescript
杨文说AI与数字化44 分钟前
把模型依赖做成可替换的组件:三层适配 + 一套回归评估
后端
Norna1 小时前
时间轮的 +1,为什么最后只留在顶层
rust
IT_陈寒1 小时前
Vue的这个响应式陷阱我居然现在才发现
前端·人工智能·后端