【算法57】 和为s的连续正数序列

Alt
题目分析:
1)连续正整数序列;
2)至少两个,也就是说并不包含自身;
3)序列内数字需要有序排列,输出形式是二维数组,所以使用vector嵌套。
4)暴力解法,直接遍历。

class Solution {
public:
    vector<vector<int>> findContinuousSequence(int target) {
        vector<int> vec;//用于存储单次遍历的结果
        vector<vector<int>> ret;//返回值,二维数组
        int j=1;
        int i=0;
        int sum=0;
        
        while (j<target){
            for (int i = j; i < target; ++i) {
                sum+=i;
                vec.push_back(i);
                if(sum==target){
                    ret.push_back(vec);
                    break;
                }
                else if(sum>target){
                    vec.clear();
                    sum=0;
                    break;
                }
            }
            j++;
        }
        return ret;
    }
};

官方解法下次再细看!

发布了57 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43343803/article/details/104688793
今日推荐