zoukankan      html  css  js  c++  java
  • 76. 和为S的连续正数序列

    https://www.acwing.com/solution/acwing/content/2670/

    代码

    class Solution {
    public:
        vector<vector<int> > findContinuousSequence(int sum) {
            vector<vector<int>> res;
            for (int i = 1, j = 1, s = 1; i <= sum; i ++ )//连续正数,从1开始
            {
                //只有当s == sum,跳出while
                while (s < sum) j ++, s += j;
                /*如果当前i到j的和是否等于sum*/
                if (s == sum && j - i+1 > 1)//连续正数序列(至少含有两个数),所以区间长度为j-i+1,应该大于1
                {
                    vector<int> line;
                    for (int k = i; k <= j; k ++ ) line.push_back(k);
                    res.push_back(line);
                }
                //s == sum后,计算下一组和为sum的连续正数序列。i向后移动一位,
                //即此时s=(i+1)到j的和。
                s -= i;
            }
            return res;
        }
    };

    注意:

    如果vector<int> path定义为全局变量,path会保留所有遍历成功的结果,并在原来成功的路径后面添加下一条路径。这显然是错的。

    要定义成局部变量

    带女朋友搬家新家条件不好,累到女朋友了,让女朋友受苦了,特此明志:每天学习,明年这个时候(20190812)让女朋友住上大房子,永远年轻,永远热泪盈眶,很多人都是这样,他们都把自己当成身在梦中一样,浑浑噩噩地过日子,只有痛苦或爱或危险可以让他们重新感到这个世界的真实。
  • 相关阅读:
    NoSQL数据库:Java开源项目Neo4j简介
    EPOLL和IOCP比较
    CString&CStringA&CStringW之间的相互转换
    CString和CStringA之间的转换
    Windows IOCP模型与Linux EPOLL模块之比较
    OCP-1Z0-053-V13.02-708题
    OCP-1Z0-053-V13.02-709题
    OCP-1Z0-053-V12.02-342题
    OCP-1Z0-053-V12.02-341题
    OCP-1Z0-053-V13.02-706题
  • 原文地址:https://www.cnblogs.com/make-big-money/p/12345096.html
Copyright © 2011-2022 走看看