题解 | #和为S的连续正数序列#

和为S的连续正数序列

http://www.nowcoder.com/practice/c451a3fd84b64cb19485dad758a55ebe

公式法:

class Solution {
public:
    vector<vector<int> > FindContinuousSequence(int sum) {
        vector<vector<int>>res;
        if(sum<=0) return res;
        for(int i=2;func(i)<sum;i++)
        {
            if((sum-func(i))%i==0)
            {
                int n=(sum-func(i))/i;
                vector<int> tmp;
                for(int j=0;j<i;j++)
                {
                    tmp.push_back(n+j);
                }
                res.push_back(tmp);
            }
        }
        reverse(res.begin(),res.end());
        return res;
    }
    int func(int i)
    {
        return i*(i-1)/2;
    }
};
全部评论

相关推荐

野猪不是猪🐗:把你的学校加黑,加粗,斜体,下划线,描边,内阴影,内发光,投影,外发光,再上渐变色,居中,放大到最大字号,再把简历里其它内容删了,就行了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务