29、php实现和为S的两个数字(含源码)
题目:php 实现 和为S的两个数字
描述:
输入一个递增排序的数组和一个数字S,在数组中查找两个数,
是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
输出描述:
对应每个测试案例,输出两个数,小的先输出。
<?php
function 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;
}
原文地址:https://blog.csdn.net/weixin_44010641/article/details/140200643
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!