面试题57 - II. 和为s的连续正数序列
Posted ocpc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题57 - II. 和为s的连续正数序列相关的知识,希望对你有一定的参考价值。
题目:
解答:
1 class Solution { 2 public: 3 vector<vector<int>> findContinuousSequence(int target) 4 { 5 int i = 1; // 滑动窗口的左边界 6 int j = 1; // 滑动窗口的右边界 7 int sum = 0; // 滑动窗口中数字的和 8 vector<vector<int>> res; 9 10 while (i <= target / 2) 11 { 12 if (sum < target) 13 { 14 // 右边界向右移动 15 sum += j; 16 j++; 17 } else if (sum > target) 18 { 19 // 左边界向右移动 20 sum -= i; 21 i++; 22 } else 23 { 24 // 记录结果 25 vector<int> arr; 26 for (int k = i; k < j; k++) 27 { 28 arr.push_back(k); 29 } 30 res.push_back(arr); 31 // 左边界向右移动 32 sum -= i; 33 i++; 34 } 35 } 36 37 return res; 38 } 39 };
以上是关于面试题57 - II. 和为s的连续正数序列的主要内容,如果未能解决你的问题,请参考以下文章
菜鸟系列 Golang 实战 Leetcode —— 面试题57 - II. 和为s的连续正数序列
LeetCode Algorithm 剑指 Offer 57 - II. 和为s的连续正数序列