微软100道算法题-----输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。 要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对

原创 2015年11月19日 18:17:13

题目:

输入一个已经按升序排序过的数组和一个数字,
在数组中查找两个数,使得它们的和正好是输入的那个数字。
要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。


思路:


设置两个指针,放在开头结尾,两个数相加,如果数大了,那就右面的指针想左走,如果小了右面的指针向右走

版权声明:本文为博主原创文章,未经博主允许不得转载。

输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。

题目:输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。 要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。 例如输入...
  • qq_30858573
  • qq_30858573
  • 2018年01月03日 16:50
  • 14

在递增排序数组中找和为S的两个数

题目:输入一个递增排序数组和一个数字,在数组中找到一对数字,其和等于S.分析: 方法1: 直接使用O(n^2)的算法进行遍历查找 方法2:使用优化的算法,时间复杂度为O(n):先定义两个指针,第一...
  • hutongling
  • hutongling
  • 2017年03月30日 10:38
  • 274

面试100题:14.求在有序数组中查找两个数的和为指定数

转载并参考July的博客http://topic.csdn.net/u/20101126/10/b4f12a00-6280-492f-b785-cb6835a63dc9.html,万分感谢! 题目:...
  • gocode
  • gocode
  • 2013年02月01日 14:58
  • 2060

找出升序数组中和为给定值的两个数字

描述: 输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。如果有多对数字 的和等于输入的数字,输入任意一对即可。 例如输入数组1、2、4、7、11、...
  • lanximu
  • lanximu
  • 2014年02月28日 10:10
  • 1177

谷歌面试题:输入是两个整数数组,他们任意两个数的和又可以组成一个数组,求这个和中前k个数怎么做?

分析: “假设两个整数数组为A和B,各有N个元素,任意两个数的和组成的数组C有N^2个元素。 那么可以把这些和看成N个有序数列: A[1]+B[1] ...
  • bei_fang_du_lang
  • bei_fang_du_lang
  • 2015年04月14日 15:27
  • 921

快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值

我觉得写得很清晰,希望没有侵犯作者的著作权,原文地址http://blog.csdn.net/hackbuteer1/article/details/6699642 快速找出一个数组中的两个数字,让...
  • mimi9919
  • mimi9919
  • 2016年05月06日 23:02
  • 5113

Java面试题多思路解析--有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中

多种思路解决Java面试题(算法)--有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。...
  • YgoodmanM
  • YgoodmanM
  • 2016年03月04日 18:44
  • 5420

编程题:输入一个正整数数组,将他们拼接成一个数,输出拼接出所有数字中最小的一个

/** * 编程题:输入一个正整数数组,将他们拼接成一个数,输出拼接出所有数字中最小的一个 * 思路:对于两个字符串重新定义其大小规则,比如:给定两个字符串s1,s2,如果(s1+s2)>(s2+...
  • myself_sky
  • myself_sky
  • 2016年11月09日 11:00
  • 1436

一个数组中两个数的和为N,找出这两个数字的下标

因为最近用的是java就按java写了。 话说最近才发现原来java面试时候居然可以用库里的函数。 分析,两个数字的和为N。那么这两个数字是否是唯一的呢?输出的下标是否是第一对出现的呢? ...
  • UESTCAA
  • UESTCAA
  • 2016年11月11日 13:09
  • 1109

[c语言]将两个整形升序数组合并为一个升序数组

已知条件:两数组A、B均为升序。
  • zyb050607
  • zyb050607
  • 2014年07月10日 16:42
  • 7021
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:微软100道算法题-----输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。 要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对
举报原因:
原因补充:

(最多只允许输入30个字)