自学内容网 自学内容网

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)!