摘要:
题目:有一个升序的数组a和一个数字N,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。示例:数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。方案一:穷举遍历法,一个个比对查找,但这种方法没有好好利用有序这个条件。时间复杂度为O(n*n)。方案二:基本思路:找到两个数,将其和与N进行对比,并不断调整。实现方法:找到数组的第一个数字和最后一个数字。当两个数字的和大于输入的数字时,把较大的数字往前移动;当两个数字的和小于数字时,把较小的数字往后移动;当相等时,打完收工。当前后两个指标最 阅读全文
posted @ 2013-08-07 15:48
欧麦高德
阅读(244)
评论(0)
推荐(0)