在排序数组中查找和为给定值的两个数字
来源:互联网 发布:linux环境变量的作用 编辑:程序博客网 时间:2024/05/01 01:46
题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。
例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。
分析:一个数指向数组的第一个数,另一个数指向数组的最后一个数,如果两数之和大于给定的数,那么第二个数指向前一个数,如果两数之和小于给定的数,那么第一个数指向后一个数,如果两数之和与给定数相等,那么两个数所指就是所求。
#include<iostream>using namespace std;int main(){int a[]={1,2,4,7,11,15};int i=0,j=5;int SUM=15;while(i<j){int sum=a[i]+a[j];if(sum==SUM){cout<<a[i]<<" "<<a[j]<<endl;break;}else if(sum>SUM)j--;elsei++;}if(i==j)cout<<"无此两个数"<<endl;return 0;}
0 0
- 在排序数组中查找和为给定值的两个数字
- 在排序数组中查找和为给定值的两个数字
- 在排序数组中查找和为给定值的两个数字
- 在排序数组中查找和为给定值的两个数字--总结
- 14.在排序数组中查找和为给定值的两个数字
- 在排序数组中查找和为给定值的两个数字
- 在排序数组中查找和为给定值的两个数字
- 在排序数组中查找和为给定值的两个数字
- 在排序数组中查找和为给定值的两个数字
- 在排序数组中查找和为给定值的两个数字--总结
- 在排序数组中查找和为给定值的两个数字
- 在排序数组中查找和为给定值的两个数字
- 在排序数组中查找和为给定值的两个数字
- 在排序数组中查找和为给定值的两个数字 C++实现
- 在排序数组中查找和为给定值的两个数字
- 在数组中查找和为给定值的两个数字(排序数组和不排序数组)
- 在已排序的数组中,查找和为给定值得两个数字
- 每天三道冲刺工作--在排序好的数组中查找和为给定值的两个数字
- 51 NOD 1521 一维战舰(并查集)
- HBase的WAL机制
- 分别计算0-n中0-9出现的次数
- 神经网络:术语
- Moving Tables(POJ 1083)
- 在排序数组中查找和为给定值的两个数字
- windows 10聚焦无法更新锁屏壁纸
- Spring MVC之@RequestParam @RequestBody @RequestHeader 等详解
- DOM中的event对象详解 — 第13.3.1节
- 機器人學總結(1) —— 機器人的描述
- Java Web程序开发入门--读书笔记(一)
- Php +Redis 做消息队列
- java基础一 作用域问题、值传递、引用传递
- VS2013/MFC编程入门之十七(对话框:字体对话框)