1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| class Solution { public: vector<vector<int>> findContinuousSequence(int target) { int begin = 1, end = 1, sum = 0; vector<vector<int>> ret; while(begin < (target >> 1)) { sum += end; while(sum >= target) { if(sum == target) { vector<int> tmp; for(int i = begin; i <= end; ++i) tmp.push_back(i); ret.push_back(tmp); } sum -= begin; ++begin; } ++end; } return ret; } };
|