给一个数组,找出其中一对和为sum的数字。

由于已经做过排好序的数组,找和为sum的题目。所以完全没有过多考虑就排了序,左右指针相互收缩着寻找。

跟答案上的方法也是一样的。

/*
start time = 16:57
end time = 17:15
*/
#include <iostream>
#include <stdlib.h>
using namespace std;//由小到大排
int cmp(const void * a, const void * b)
{return *((int *)a) - *((int *)b);
}
bool get_TwoNumber(int * a, int len, int sum)
{int i, j;qsort(a, len, sizeof(a[0]), cmp);for(i = 0, j = len - 1; i < j;){if(a[i] + a[j] == sum){cout << a[i] << " + " << a[j] << " = "<< sum << endl;return true;}else if(a[i] + a[j] < sum){i++;}else{j--;}}cout << "no vaild num!" << endl;return false;
}int main()
{int a[10] = {5,6,1,4,7,9,8};get_TwoNumber(a, 7, 10);return 0;
}

转载于:https://www.cnblogs.com/dplearning/p/4059327.html

【编程之美】2.12快速寻找满足条件的两个数相关推荐

  1. 编程之美2.12 快速寻找满足条件的两个数

      这道题目的意思是,在一个数组中寻找两个数,使这两个数的和等于给定的数(找到任意一组就可以了).       题目读完之后,感觉这道题目还是很简单的,就是遍历数组呗,走两遍,即可以在O(n2)时间复 ...

  2. 第2章 数字之魅——快速寻找满足条件的两个数

    快速寻找满足条件的两个数 问题描述 能否快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的数字,为了简化起见,我们假设这个数组中肯定存在这样一组或以上符合要求的解. 分析与解法 [解法一] ...

  3. python 多条件 选择 算法_python部署python算法 - 快速寻找满足条件的两个数

    题目前提是一定存在这样两个数 解法一就不写了...一般想不到吧 一开始想到的是解法二最后的用hash表 (其实是想到创建一个跟target一样大的数组啦..存在就写入index,但是要全部找出,那得二 ...

  4. 快速寻找满足条件的两个数

    能否快速的在数组中找到两个数,让这两个数之和等于一个给定的数字. 解法1. 一个直接的解法就是穷举:从数组中任意取出两个数字,计算两者之和是否为 给定的数字.  显然其时间复杂度为N(n-1)/2即O ...

  5. 编程之美-快速寻找满足条件的两个数方法整理

    [问题描述] 方法一:时间复杂度O(n^2) 方法二:时间复杂度O(n),空间复杂度O(n) 方法三:时间复杂度O(nlogn)

  6. 程序员面试100题之十:快速寻找满足条件的两个数

    能否快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值,为了简化起见,我们假设这个数组中肯定存在至少一组符合要求的解. 假如有如下的两个数组,如图所示: 5,6,1,4,7,9,8 给定S ...

  7. python同时满足两个条件_python算法-快速寻找满足条件的两个数

    题目前提是一定存在这样两个数 解法一就不写了...一般想不到吧 一开始想到的是解法二最后的用hash表 (其实是想到创建一个跟target一样大的数组啦..存在就写入index,但是要全部找出,那得二 ...

  8. 编程之美 set 12 快速找出故障机器

    题目 1. 所有的 ID 都出现 2 次, 只有一个例外, 找到那个例外的 ID 2. 所有的 ID 都出现两次, 只有两个例外, 找出例外的那两个 总计 1. 剑指 offer 上有这两道题的解法, ...

  9. 寻找20以内某两个数相除,其结果离黄金分割点0.618最近

    题目: 寻找某两个数相除,其结果 离黄金分割点 0.618最近: 要求:1)分母和分子不能同时为偶数 2)分母和分子 取值范围在[1-20] 分析:可采用嵌套for循环,分别遍历分子和分母,求出相除结 ...

最新文章

  1. AI大佬“互怼”:Bengio和Gary Marcus隔空对谈深度学习发展现状
  2. (转)基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用
  3. 虚拟私有云网络VPC
  4. android开发获取应用本身耗电量_别找了,Android常用自动化工具全在这儿了!
  5. 网站后端_Flask-第三方库.利用Flask-Socketio扩展构建实时流应用?
  6. 【渝粤教育】国家开放大学2018年春季 7394-22T政府公共关系 参考试题
  7. java获取mysql执行计划_好程序员Java学习路线之MySQL的执行计划
  8. mysql 报错从 新安装
  9. mysql自定义函数to_date_mysql 之 str_to_date ()函数 和date_format()函数
  10. ZigBee网络数据传递流程_Zigbee网络架构解析
  11. Python内置函数之 range()
  12. POJ 1451 T9 (字典树好题)
  13. macbook pro开机键盘键盘和触摸板没反应问题
  14. Python(五):list、tuple
  15. Flash Media Server 4.5
  16. Java SE 八大基本类型
  17. 反思-我们真的初老了么?
  18. 多线程编程(3):线程池ThreadPool
  19. MySQL 数据库安全管理
  20. Excel换行显示的几种方法,你知道吗?

热门文章

  1. R语言警告:Cannot compute exact p-value with ties的处理方法
  2. 编译原理:实验一练习
  3. php impload 展开,PHP implode()函数用法讲解
  4. 发那科sub_一文搞定FANUC PMC
  5. vue点击改变data值_vue 中自定义指令改变data中的值
  6. 浙江大学计算机考研大纲,2018年浙江大学研究生入学考试《计算机学科专业基础》(878)考试大纲...
  7. 跨网页的新手引导_IOS中新手引导页面的实现(新手引导,Guide)
  8. 我的世界服务器如何修改加载规模,我的世界服务器预加载区域怎么调小
  9. 线性最小二乘问题求解的豪斯荷尔德法C实现
  10. 利用CStopWatch计算并显示小车运行速度