【题目】输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可,例如输入数组1、2、4、7、11、15和数字 15。由于4+11=15,因此输出4 和11。
【思路】升序数组,按照头尾元素之和进行判断,如果大于和值,尾前移一位,如果小于和值头后移一位。
【代码】
【题目】输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可,例如输入数组1、2、4、7、11、15和数字 15。由于4+11=15,因此输出4 和11。
【思路】升序数组,按照头尾元素之和进行判断,如果大于和值,尾前移一位,如果小于和值头后移一位。
【代码】