问题描述

输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。
序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。
示例 1: 输入:target = 9
输出:[[2,3,4],[4,5]]
示例 2: 输入:target = 15
输出:[[1,2,3,4,5],[4,5,6],[7,8]]
  限制: 1 <= target <= 10^5

代码

  • 如果\(target\)要分解为两个连续的正数和,因为这两个数只相差\(1\),则\((target - 1)\%2==0\),并且正数的第一个元素是\((target-1)/2\).
  • 如果\(target\)要分解为三个连续的正数和,因为这三个数相差\(1,2\),则\((target - 1 - 2)\%3==0\),并且正数的第一个元素是\((target-1-2)/3\)
  • \(\dots\)
class Solution {
public:
vector<vector<int>> findContinuousSequence(int target) {
vector<vector<int>> ans;
int i = 1,j;
while(target > 0)
{
target -= i;
if(target > 0&& (target) % (i+1) == 0)
{
vector<int> tmp;
for(j = 0; j <= i; ++j)
tmp.push_back((target)/(i+1)+j);
ans.push_back(tmp);
}
++i;
}
reverse(ans.begin(),ans.end());
return ans;
}
};

结果:

执行用时 :4 ms, 在所有 C++ 提交中击败了84.28%的用户
内存消耗 :6.9 MB, 在所有 C++ 提交中击败了100.00%的用户

最新文章

  1. css_随笔
  2. nyoj 448 寻找最大数(贪心专题)
  3. html-制作导航菜单
  4. php练习3——猜拳游戏,评委打分问题
  5. mysql批量删除指定前缀或后缀表
  6. UIAutomator定位Android控件的方法实践和建议(Appium姊妹篇)
  7. 128M小内存VPS优化与typecho环境搭建
  8. jquery toggle 替换的实现
  9. shell实例练习+详解
  10. text-size-adjust: none并没有什么用
  11. SegNet 理解与文章结构
  12. react props与render成员函数
  13. Multiple Server Query Execution报The result set could not be merged..
  14. 【ELK】之Kibana使用
  15. JS实现双击内容变为可编辑状态
  16. jq 复习帖子 常用操作
  17. 解决VMware虚拟机的CentOS无法上网
  18. jstl $前 出现 空格 ,可能出现无法解析的 情况
  19. codeforces15E Triangles
  20. gen_empty_obj算子的作用

热门文章

  1. AtCoder Beginner Contest 169 题解
  2. 启动jetty命令
  3. 使用xlsx实现Excel导入
  4. Mac下好用的“visio”之 OmniGraffle Pro
  5. nim_duilib(1)之第一个dui executable(including configure setting in vs2017)
  6. Visiual Studio之c++项目瘦身(删除中间项)
  7. java源码——计算大于一个数的最小素数
  8. 【LeetCode】293. Flip Game 解题报告(C++)
  9. 【LeetCode】1180. Count Substrings with Only One Distinct Letter 解题报告(C++)
  10. 【LeetCode】563. Binary Tree Tilt 解题报告(Java & Python)