剑指Offer(57)和为S的连续正数序列
2018-02-22 22:51
274 查看
题目描述
小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!
输出描述:
输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
算法:两个数组下标
数据结构:二维数组
编程语言:C++
小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!
输出描述:
输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
算法:两个数组下标
数据结构:二维数组
编程语言:C++
class Solution { public: vector<vector<int> > FindContinuousSequence(int sum) { vector<vector<int>> ans; int low=1,high=2; while(low<high) { //数学公式 int s=(low+high)*(high-low+1)/2;//连续的和 if(s==sum) { vector<int> temp; //循环进入 for(int i=low;i<=high;i++) temp.push_back(i); ans.push_back(temp); low++; } else if(s<sum) high++; else low++; } return ans; } };
相关文章推荐
- 【剑指offer】面试题57(2):和为S的连续正数序列
- 剑指offer面试题[41]-和为s的两个数VS和为s的连续正数序列
- 剑指offer--和为S的连续正数序列
- 剑指offer——和为s的连续正数序列
- 剑指offer 和为s的连续正数序列
- 剑指offer 之 和为S的连续正数序列
- 【剑指offer】面试题41-和为S的两个数VS和为S的连续正数序列
- 剑指offer:和为S的连续正数序列
- 剑指Offer学习总结-和为S的连续正数序列
- 剑指offer 6.3 知识迁移能力6-和为s的连续正数序列
- [剑指offer][面试题41]和为s的两个数字 VS 和为s的连续正数序列
- 剑指Offer面试题41和为s的两个数字与和为s的连续正数序列,面试题42翻转单词顺序与左旋转字符串
- 剑指offer---和为s的两个数字VS和为s的连续正数序列
- 剑指Offer_面试题41_和为s的两个数字 VS 和为s的连续正数序列
- 剑指Offer之 - 和为s的两个数字 VS 和为s的连续正数序列
- [剑指offer]和为S的连续正数序列
- 【剑指offer】和为S的连续正数序列
- 【剑指offer】6.3知识迁移能力——面试题41:和为s的两个数字VS和为s的连续正数序列
- 剑指Offer----面试题41(2):和为s的连续正数序列
- 剑指offer--和为S的连续正数序列