题目描述
输入一个递增排序的数组和一个数字 S,在数组中查找两个数,使得他们的和正好是 S,如果有多对数字的和等于 S,输出两个数的乘积最小的。
两个指针,一个从前往后,一个从后往前,分别判断两数的和,这样满足条件的第一组就是乘积最小的,因为两个数字之间的距离最大。
同样的思想,扩展到和为 S 的连续正数序列
题目描述
输出所有和为 S 的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
两个指针,思路同上,但是需要注意,当 cur > sum 时,我们是把最小的数去掉,而不是将最大值去掉,因为从 small 到当前 big - 1 的情况已经考虑过了。