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/

相关推荐
沪漂阿龙8 小时前
Java JVM 面试题详解:JVM运行原理、内存模型、堆栈方法区、GC垃圾回收、JIT编译、类加载机制与线上调优全攻略
java·开发语言·jvm
小碗羊肉8 小时前
Maven高级
java·开发语言·maven
不知名的老吴8 小时前
C++ 中函数对象的形式概述
开发语言·c++
搬砖者(视觉算法工程师)8 小时前
计算机视觉与计算摄影测量学第三讲图像直方图:理论、统计特性与点运算变换
人工智能·算法·计算机视觉
Yingjun Mo8 小时前
3. Meta-Harness:模型基座外壳的端到端优化
人工智能·算法
Cthy_hy8 小时前
并查集(Disjoint Set Union):巧判「连通聚类关系」的极简利器
数据结构·算法
Shan12058 小时前
C++中函数对象之重载 operator()
开发语言·c++·算法
逻辑君8 小时前
物理生物学研究报告【20260007】
人工智能·算法
阿维的博客日记8 小时前
简单说一下ArrayList的add机制,适合应试者表达的
算法·arraylist
HelloWorld1024!8 小时前
c++核心之万字详解 * 和 & 所有用法(指针、引用、取地址、解引用、常量修饰)
开发语言