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/

相关推荐
自珍JAVA1 天前
访问者模式:让你的代码优雅地“拜访”对象结构
后端
吃好睡好便好1 天前
用while循环语句求和
开发语言·学习·算法·matlab·信息可视化
TechWayfarer1 天前
查询IP所在地的3种方案:从API到离线库,风控场景怎么选?
开发语言·网络·python·网络协议·tcp/ip
摇滚侠1 天前
Java 零基础全套教程,集合框架,笔记 153-163
java·开发语言·笔记
王璐WL1 天前
【C语言入门级教学】函数的概念2
c语言·数据结构·算法
程序员榴莲1 天前
Python 单例模式
开发语言·python·单例模式
不知名的忻1 天前
B 树与 B+ 树:面试完全指南
b树·算法·面试·b+树
L、2181 天前
CANN算子开发调试实战:从“Segmentation Fault“到定位根因的完整流程
java·开发语言
毅航1 天前
AI 浪潮下,会用工具不等于具备能力
后端·程序员·ai编程
狗凯之家源码网1 天前
基于PHP的多语言跨境电商B2B2C商城系统技术解析
开发语言·php