leetcode 1652.拆炸弹

这道题没有什么明确的做法,我们其实可以根据数组的思想来做。

一般来说是一个循环数组的话,我们可以用while来处理。

如果循环次数很少,我们可以用一种思想,那就是把原先的数组再复制一份放在后面,这样就相当于是循环了。这里就用了这种思想进行处理的,然后根据题目模拟就行了。

上代码:

复制代码
class Solution {
public:
    vector<int> decrypt(vector<int>& code, int k) {
        int n=code.size();
        vector<int>res;
        if(n){
        if(k==0)
        {
            for(int i=0;i<n;i++){
                res.push_back(0);
            }
        }
        else if(k>0){
            for(int i=0;i<n;i++){
                code.push_back(code[i]);
            }
        for(int i=0;i<n;i++){
            int sum=0;
            for(int j=i+1;j<i+1+k;j++){
                sum+=code[j];
            }
            res.push_back(sum);
        }
        }
        else{
            for(int i=0;i<n;i++){
                code.push_back(code[i]);
            }
            for(int i=n;i<code.size();i++){
                int haha=0;
                for(int j=i-1;j>=i-abs(k);j--){
                    haha+=code[j];
                }
                res.push_back(haha);
            }
        }
    }
    return res;
    }
};
相关推荐
TL滕8 小时前
从0开始学算法——第十五天(滑动窗口练习)
笔记·学习·算法
DuHz8 小时前
milliLoc 论文精读:把商用毫米波 FMCW 的绝对测距从“厘米栅格”推进到“毫米级连续值”,并顺带修正 AoA 的系统相位偏差
论文阅读·物联网·算法·信息与通信·毫米波雷达
肥大毛8 小时前
C++入门学习---结构体
开发语言·c++·学习
qq_401700418 小时前
Linux文件锁解决多进程并发
linux·服务器·算法
长安er9 小时前
LeetCode 83/237/82 链表删除问题-盒子模型
数据结构·算法·leetcode·链表·力扣
小虎牙0079 小时前
RSA 的核心原理
算法
重生之后端学习9 小时前
56. 合并区间
java·数据结构·后端·算法·leetcode·职场和发展
小猪猪屁9 小时前
顺序表与链表:头插法与尾插法详解
c语言·数据结构·c++
历程里程碑9 小时前
C++ 5:模板初阶
c语言·开发语言·数据结构·c++·算法
leoufung10 小时前
LeetCode 74. Search a 2D Matrix
数据结构·算法·leetcode