面试题:和为s的两个数字VS和为s的连续正数序列

23 查阅
面试题:和为s的两个数字VS和为s的连续正数序列题目一:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,输出任意一对即可。题目二:输入一下正数s

参考答案:

正确答案:

例如输入数组{1、2、4、7、11、15)和数字15。由于4+11=15,因此输出4和11。
面试的时候,很重要的一点是应聘者要表现出很快的反应能力。只要想到一个方法,应聘者就可以马上告诉面试官,即使这个方法不一定是最好的。比如这个问题,很多人都能立即想到O(n2)的方法,也就是先在数组中固定一个数字,再依次判断数组中其余的n-l个数字与它的和是不是等于s。面试官会告诉我们这不是最好的办法。不过这没有关系,至少面试官知道我们的思维还是比较敏捷的。