首页 > 其他分享 >剑指 Offer 57 - II. 和为s的连续正数序列(简单)

剑指 Offer 57 - II. 和为s的连续正数序列(简单)

时间:2023-09-03 11:34:26浏览次数:39  
标签:target Offer int 57 II vector 序列 sum xu

题目:

class Solution {
public:
    vector<vector<int>> findContinuousSequence(int target) {      //本题使用滑动窗口(双指针)
       int i=1, j=1;      //定义左右边界,一般是左闭右开
       int sum=0;      //窗口内的和
       vector<vector<int>> result;
       while(i<=target/2){      //左边界最大为target/2
           if(sum<target){      //sum小于target,加上j后右边界右移
               sum+=j;
               j++;
           }
           else if(sum>target){      //sum超过target,减去i后左边界右移
               sum-=i;
               i++;
           }
           else{
               vector<int> vec;      //sum等于target,记录序列
               for(int k=i;k<j;k++){
                   vec.push_back(k);
               }
               result.push_back(vec);
               sum-=i;      //记录后左边界右移
               i++;
           }
       }
       return result;
    }
};

作者:nettee
链接:https://leetcode.cn/problems/he-wei-sde-lian-xu-zheng-shu-xu-lie-lcof/solutions/133768/shi-yao-shi-hua-dong-chuang-kou-yi-ji-ru-he-yong-h/
来源:力扣(LeetCode)

标签:target,Offer,int,57,II,vector,序列,sum,xu
From: https://www.cnblogs.com/fly-smart/p/17674791.html

相关文章

  • 代码随想录算法训练营第二十五天| 216.组合总和III 17.电话号码的字母组合
     216.组合总和III    卡哥建议:如果把 组合问题理解了,本题就容易一些了。    题目链接/文章讲解:https://programmercarl.com/0216.%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8CIII.html   视频讲解:https://www.bilibili.com/video/BV1wg411873x  做题思路:......
  • 剑指 Offer 39. 数组中出现次数超过一半的数字(简单)
    题目:classSolution{public:intmajorityElement(vector<int>&nums){unordered_map<int,int>map;intresult;for(inti=0;i<nums.size();i++){map[nums[i]]++;}for(inti=0;i<n......
  • IIR滤波器算法
    IIR(InfiniteImpulseResponse)滤波器是一类递归型数字滤波器,其输出信号不仅与当前的输入信号有关,还与之前的输入和输出信号有关。因此,IIR滤波器的阶数相对较低,可以实现更为复杂的频率响应。IIR滤波器的数学模型描述如下:其中,x(n)和y(n)分别表示输入信号和输出信号,bk和ak分别为前向系......
  • Leetcode 剑指 Offer 58 - II. 左旋转字符串(Zuo xuan zhuan zi fu chuan lcof)
    题目链接字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例1:输入:s="abcdefg",k=2输出:"cdefgab"示例2:输入:s=......
  • 剑指 Offer 44. 数字序列中某一位的数字(中等)
    题目:classSolution{//本题单纯找规律,要注意通过n%digits来判断有几个位数为digits的数public:intfindNthDigit(intn){longbase=9,digits=1;//digits代表位数while(n-base*digits>0){//该循环是为了确定目标数字所在数num......
  • 如何使用iisreset命令重启IIS
    如何使用iisreset命令重启IIS 1、界面操作打开“控制面板”->“管理工具”->“服务”。找到“IISAdminService”右键点击“重新启动”弹出“停止其它服务”窗口,点击“是”。2、Net命令操作点击“开始”->“运行”,输入cmd打开命令窗口;输入netstopiisadmin /y 回......
  • Python进制转换以及ASCII码的转换
    获取ASCII码以及根据ASCII码获取内容#获取字符的编码为98#c的ASCII码为99print(ord('c'))#chr()根据编获取对应的值print(chr(99))进制的转换#hex函数十进制转十六进制print(f'99的十六进制{hex(99)}')#oct函数十进制转八进制print(f'99的八进制{oct(99)}')#......
  • openGauss学习笔记-57 openGauss 高级特性-并行查询
    openGauss学习笔记-57openGauss高级特性-并行查询openGauss的SMP并行技术是一种利用计算机多核CPU架构来实现多线程并行计算,以充分利用CPU资源来提高查询性能的技术。在复杂查询场景中,单个查询的执行较长,系统并发度低,通过SMP并行执行技术实现算子级的并行,能够有效减少查询执行时......
  • 删列造序 II
    给定由n 个字符串组成的数组strs,其中每个字符串长度相等。选取一个删除索引序列,对于strs 中的每个字符串,删除对应每个索引处的字符。比如,有strs=["abcdef","uvwxyz"],删除索引序列 {0,2,3},删除后strs 为["bef","vyz"]。假设,我们选择了一组删除索引answer,那么在......
  • 剑指 Offer 48. 最长不含重复字符的子字符串 java
    请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例1:输入:"abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:"bbbbb"输出:1解释:因为无重复字符的最长子串是"b",所以其长度为1。示例3:输入......