[剑指offer]和为s的两个数 ; 和为s的连续正整数序列
来源:互联网 发布:c语言大小写转换代码 编辑:程序博客网 时间:2024/05/16 07:56
/* 41:和为s的两个数 ; 和为s的连续正整数序列 {1,2,4,7,11,15} 求和为15的两个数(头尾指针)*/bool FindTwoNumOfSum(int ar[], int len, int sum, int *num1, int *num2){ bool flag = false; if (ar == NULL || len <= 0 || num1 == NULL || num2 == NULL) return flag; int head = 0; int tail = len - 1; while (head < tail) { int curSum = ar[head] + ar[tail]; if (curSum == sum) { *num1 = ar[head]; *num2 = ar[tail]; flag = true; break; } else if (curSum>sum) tail--; else head++; } return flag;}/* 打印和为n的序列 1+2+3+4+5=4+5+6=7+8=15 打印 1~5,4~6,7~8*/void printSeq(int small, int big){ for (int i = small; i <= big; ++i) cout << i << " "; cout << endl;}void FindSeqOfSum(int sum){ if (sum < 3) return; int small = 1; int big = 2; int times = (sum + 1) / 2; //small big两个数 只用增加到sum的一半 int curSum = small + big; while (small < times) { if (curSum == sum) printSeq(small,big); while (curSum > sum && small < times) { curSum -= small; small++; if (curSum == sum) printSeq(small, big); } big++; curSum += big; }}////void test()//{// FindSeqOfSum(15);//}
2 0
- [剑指offer]和为s的两个数 ; 和为s的连续正整数序列
- 【剑指offer】题41:和为s的两个数VS连续正整数之和为S
- 【剑指offer】和为S的连续正整数序列
- 剑指offer 42 和为S的连续正整数序列
- 和为 s 的连续正整数序列
- 【剑指offer】面试题41-和为S的两个数VS和为S的连续正数序列
- 剑指offer面试题[41]-和为s的两个数VS和为s的连续正数序列
- 剑指offer---和为s的两个数字VS和为s的连续正数序列
- 剑指Offer:和为 S 的两个数字 VS 和为 S 的连续正数序列
- 剑指offer-和为s的两个数字VS和为s的连续正数序列
- 和为S的两个数字 and 和为s的连续正整数序列
- 剑指offer 41 - 和为s的两个数字VS为s的连续正数序列
- 【剑指offer之和为s的两个数字VS和为s的连续正数序列】
- 打印所有和为s的连续正整数序列(至少含两个数)
- 剑指offer-41 和为s的两个数和和为s的序列
- 剑指Offer 41 和为s的两个数字vs和为s的连续正整数列
- 剑指Offer——输入正整数S,打印出所有和为S的连续正数序列(至少含有两个正数)
- 【面试题】和为S的两个数、和为S的连续正数序列
- MapReduce程式调用第三方包
- iOS 颜色插件失效的解决办法
- Pentaho Work with Big Data(一)—— Kettle连接Hadoop集群
- UVA 116 Unidirectional TSP
- 苹果官方xcode工程build设置指南
- [剑指offer]和为s的两个数 ; 和为s的连续正整数序列
- SQL基础——SELECT
- 加载网络数据失败的原因:
- setTimeout 与setInterval
- 【剑指offer系列】 调整数组顺序使奇数位于偶数前面___14
- POJ -- 2253 -- Frogger (最短路变形)
- 负载均衡
- eleasticsearch学习笔记(未完)
- C++的三大特性:封装、继承、多态