正数序列(easy)"/>
[滑动窗口]面试题57 - II. 和为s的连续正数序列(easy)
题目:
题解:
- 一看数据量10^5,话不多说,直接滑动窗口, O ( n ) O(n) O(n)的时间复杂度实现双100。
代码如下:
class Solution {
public://题解:滑动窗口vector<vector<int>> findContinuousSequence(int target) {vector<vector<int>> res;int j=1,sum=0;for(int i=1;i<=target/2+1;++i){//i的最大取值为target的右中位数sum+=i;while(sum>target){sum-=j;j++;}//缩小窗口if(sum==target){//窗口满足,添加窗口vector<int> temp;for(int k=j;k<=i;++k)temp.push_back(k);res.push_back(temp);}}return res;}
};
更多推荐
[滑动窗口]面试题57 - II. 和为s的连续正数序列(easy)
发布评论