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/

相关推荐
三雷科技几秒前
使用 `dlopen` 动态加载 `.so` 文件
开发语言·c++·算法
wellc13 分钟前
java进阶知识点
java·开发语言
听风吹等浪起16 分钟前
用Python和Pygame从零实现坦克大战
开发语言·python·pygame
灰色小旋风17 分钟前
力扣合并K个升序链表C++
java·开发语言
_MyFavorite_20 分钟前
JAVA重点基础、进阶知识及易错点总结(28)接口默认方法与静态方法
java·开发语言·windows
Yzzz-F22 分钟前
Problem - 2146D1 - Codeforces &&Problem - D2 - Codeforces
算法
取码网25 分钟前
最新在线留言板系统PHP源码
开发语言·php
Kk.080226 分钟前
力扣 LCR 084.全排列||
算法·leetcode·职场和发展
环黄金线HHJX.28 分钟前
龙虾钳足启发的AI集群语言交互新范式
开发语言·人工智能·算法·编辑器·交互
Omics Pro29 分钟前
虚拟细胞:开启HIV/AIDS治疗新纪元的关键?
大数据·数据库·人工智能·深度学习·算法·机器学习·计算机视觉