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/

相关推荐
WANGWUSAN663 分钟前
Python高频写法总结!
java·linux·开发语言·数据库·经验分享·python·编程
forNoWhat12 分钟前
java小知识点:比较器
java·开发语言
坐井观老天17 分钟前
在C#中使用资源保存图像和文本和其他数据并在运行时加载
开发语言·c#
皓木.21 分钟前
(自用)配置文件优先级、SpringBoot原理、Maven私服
java·spring boot·后端
代码中の快捷键25 分钟前
java开发面试有2年经验
java·开发语言·面试
Marzlam25 分钟前
sql server索引优化语句
开发语言·数据库
谢家小布柔30 分钟前
Java 中的字符串
java·开发语言
码老白31 分钟前
【老白学 Java】HashSet 应用 - 卡拉 OK(五)
java·开发语言
i7i8i9com32 分钟前
java 1.8+springboot文件上传+vue3+ts+antdv
java·spring boot·后端
秋意钟32 分钟前
Spring框架处理时间类型格式
java·后端·spring