题目:php 实现 和为S的两个数字
描述:
输入一个递增排序的数组和一个数字S,在数组中查找两个数,
是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
输出描述:
对应每个测试案例,输出两个数,小的先输出。
<?phpfunction FindNumbersWithSum($array, $sum)
{$result = [];$i = 0;$j = count($array)-1;while($i < $j){$sumRst = $array[$i]+$array[$j];if($sumRst == $sum){$result[] = $array[$i];$result[] = $array[$j];break;}while($i < $j && $array[$i] + $array[$j] > $sum) --$j;while($i < $j && $array[$i] + $array[$j] < $sum) ++$i;}return $result;
}