和为S的两个数字

xiaoxiao2021-02-28  89

输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述:

对应每个测试案例,输出两个数,小的先输出。

<?php function FindNumbersWithSum($array, $sum) { //存放和为sum的数组 $sumArray=array(); for ($i=0;$i<count($array);$i++){ for ($j=0;$j<count($array);$j++){ //遍历。若和为sum,压入数组 if (array_sum(array($array[$i],$array[$j]))==$sum){ array_push($sumArray,array($array[$i],$array[$j])); } } } //若不存在和为sum,返回空数组 if (empty($sumArray)){ return $sumArray; } //sumArray数组中两数乘积最小对应的键名 $key=array_keys($sumArray,min($sumArray))[0]; //返回该两个数 return $sumArray[$key]; }
转载请注明原文地址: https://www.6miu.com/read-72685.html

最新回复(0)