首页 > 其他分享 >leetcode 1652. 拆炸弹 未解决

leetcode 1652. 拆炸弹 未解决

时间:2024-12-02 21:03:20浏览次数:3  
标签:code int res -- 炸弹 1652 leetcode size

1652. 拆炸弹

原本是简单题,但是k < 0的情况由于选用的方法不好,浪费太多时间了。代码也有很多冗余

class Solution {
public:
    vector<int> decrypt(vector<int>& code, int k) {
        int size = code.size();
        vector<int> res(size,0);
        if(k == 0)  return res;
        if(k > 0){
            for(int i = 0;i < k;i++)  res[0] += code[i+1];
            for(int i = 1;i < size - k;i++){
                res[i] = res[i-1] - code[i] + code[i+k];
            }
            for(int i = size - k;i < size;i++){
                res[i] = res[i-1] - code[i] + code[i-size+k];
            }
        }
        else{
            k = -k;
            for(int i = size-1;i >= size - k;i--)  res[size-1] += code[i-1];
            for(int i = size - 2;i >= k;i--){
                res[i] = res[i+1] - code[i] + code[i-k];
            }
            for(int i = k-1;i >= 0;i--){
                res[i] = res[i+1] - code[i] + code[size-k+i];
            }
        }
        return res;
    }
};

 

标签:code,int,res,--,炸弹,1652,leetcode,size
From: https://www.cnblogs.com/uacs2024/p/18582669

相关文章

  • leetcode757 设置交集大小至少为2
    给定n个闭区间,求一个集合使得每个区间都至少有两个整数在其中,问集合至少包含多少个元素?1<=n<=3000;0<=start[i]<end[i]<=1E8分析:将区间按end升序、start降序排序,维护集合的最大和次大值,分情况讨论,贪心选择靠右边的点。classSolution{public:intintersectionSizeTwo(v......
  • LeetCode 2413[最小偶倍数]
    题目链接LeetCode2413[最小偶倍数]详情实例提示题解思路判断奇偶性奇数乘以2并返回偶数直接返回代码classSolution{public:intsmallestEvenMultiple(intn){if(0==(n%2))returnn;return2*n;}};......
  • leetcode 1423. 可获得的最大点数
    1423.可获得的最大点数首先,前k个数和后k个数的较大者并不是正确答案,比如 100  40  17  9  73  75,正确解是248。其次,想到了前或者后拿了一个数之后,就是求剩下序列拿k-1个数,可以转换成子问题,所以想到了递归。但是k比较大的时候就超时了:classSolution......
  • 代码随想录算法训练营第三十一天|leetcode56. 合并区间、leetcode738.单调递增的数字
    1leetcode56.合并区间题目链接:56.合并区间-力扣(LeetCode)文章链接:代码随想录视频链接:贪心算法,合并区间有细节!LeetCode:56.合并区间哔哩哔哩bilibili思路:其实很清楚,跟之前的方法差不多,但是自己写的时候就是有地方不会了,会不知道接下来的思路是什么1.1视频后的思路卡壳......
  • leetcode 2841. 几乎唯一子数组的最大和
    2841.几乎唯一子数组的最大和使用unordered_map;unordered_multiset可能也可以,但是不如前者方便classSolution{public:longlongmaxSum(vector<int>&nums,intm,intk){intsize=nums.size();longlongnow=0;unordered_map<int,......
  • LeetCode 爬楼梯
    题目:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?采用动态规划的算计进行设计对于n=1 的情况,很明显只有一种方法能爬到第1阶楼梯,那就是一次爬1个台阶,所以f(1)=1。对于 n=2  的情况,有两种方......
  • leetcode 1461. 检查一个字符串是否包含所有长度为 K 的二进制子串
    1461.检查一个字符串是否包含所有长度为K的二进制子串 法一:使用unordered_set,通过集合数量来判断classSolution{public:boolhasAllCodes(strings,intk){intsize=s.size();intk_2kFang=pow(2,k);if(size-k+1<k_2kFa......
  • Leetcode:3195
    1,题目2,思路首先找到上下左右初始边就开始循环找到上下左右最终边,做面积运算就好了(其中+1是因为下标比实际位置少1)3,代码classSolution3195{publicintminimumArea(int[][]grid){intabove=0;//上intunder=0;//下intleft=0;//......
  • LeetCode题练习与总结:路径总和 Ⅲ --437
    一、题目描述给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。示例1:输入:root=[10,5,-3,3,2,null,......
  • LeetCode题练习与总结:找到字符串中所有字母异位词--438
    一、题目描述给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。示例 1:输入:s="cbaebabacd",p="abc"输出:[0,6]解释:起始索引等于0的子串是"cba",它是"abc"的异位词。起始索引等于6的子......