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/

相关推荐
F_D_Z3 分钟前
最长连续序列(Longest Consecutive Sequence)
数据结构·算法·leetcode
ss2733 分钟前
Java并发编程:DelayQueue延迟订单系统
java·python·算法
SHERlocked935 分钟前
摄像头 RTSP 流视频多路实时监控解决方案实践
c++·后端·音视频开发
JHC0000006 分钟前
118. 杨辉三角
python·算法·面试
@游子10 分钟前
Python类属性与魔术方法全解析
开发语言·python
WolfGang00732120 分钟前
代码随想录算法训练营Day50 | 拓扑排序、dijkstra(朴素版)
数据结构·算法
AutoMQ27 分钟前
How does AutoMQ implement a sub-10ms latency Diskless Kafka?
后端·架构
Rover.x28 分钟前
Netty基于SpringBoot实现WebSocket
spring boot·后端·websocket
牛客企业服务29 分钟前
AI面试监考:破解在线面试作弊难题
人工智能·面试·职场和发展
业精于勤的牙34 分钟前
浅谈:算法中的斐波那契数(四)
算法