• php求和为s的两个数字(多复制上面写的代码,有利于检查错误)(由浅入深,先写简单算法,做题的话够用就行)


    php求和为s的两个数字(多复制上面写的代码,有利于检查错误)(由浅入深,先写简单算法,做题的话够用就行

    一、总结

    1、多复制上面写的代码,有利于检查错误

    2、一层循环就解决了,前后两个指针,和大了就后指针前移,和小了就前指针后移

    3、由浅入深,先写简单算法,做题的话够用就行

    4、php中的PHP_INT_MAX

    二、php求和为s的两个数字

    题目描述

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

    输出描述:

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

    三、代码

    多复制上面写的代码,有利于检查错误

     1 <?php
     2 
     3 //算法:两层循环遍历所有情况,选取其中乘积最小的
     4 function FindNumbersWithSum($array, $sum)
     5 {
     6     $ans=[];
     7     $n=count($array);
     8     $chengji=2100000000;
     9     for($i=0;$i<$n;$i++){
    10         for($j=$i+1;$j<$n;$j++){
    11             if(($array[$i]+$array[$j]==$sum)&&($array[$i]*$array[$j]<$chengji)){
    12                 $ans[0]=$array[$i]; //1、这里写成了$i
    13                 $ans[1]=$array[$j];
    14                 $chengji=$array[$i]*$array[$j];
    15             }
    16         }
    17     }
    18     return $ans;
    19 }
     1 <?php
     2  
     3 function FindNumbersWithSum($array, $sum)
     4 {
     5     // write code here
     6     $len = count($array);
     7     $i=0;
     8     $j=$len-1;
     9     $multi = PHP_INT_MAX ;//1、php中的PHP_INT_MAX
    10     $a=NULL;$b=NULL;
    11     while($i<$j){  //2、这里是一层循环就解决了,前后两个指针,和大了就后指针前移,和小了就前指针后移
    12         if($array[$i] + $array[$j] > $sum){
    13             $j--;
    14         }elseif(($array[$i] + $array[$j] < $sum)){
    15             $i++;
    16         }else{
    17             if($multi > $array[$i]*$array[$j]){
    18                 $multi = $array[$i]*$array[$j];
    19                 $a = $array[$i];
    20                 $b = $array[$j];
    21             }
    22             $i++;$j--;
    23         }
    24     }
    25     if($a !== NULL){
    26         return [$a,$b];  //3、[$a,$b]   
    27     }else{
    28         return [];
    29     }
    30  
    31 }
  • 相关阅读:
    Python+selenium之调用JavaScript
    Python+selenium 之操作Cookie
    Python+selenium整合自动发邮件功能
    Python之查询最新的文件
    jQuery之回调对象
    jQuery之XML的加载和解析
    jQuery之DOM属性
    jQuery之Ajax--快捷方法
    jQuery之Ajax--底层接口
    jQuery之Ajax--辅助函数
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9068629.html
Copyright © 2020-2023  润新知