D104167.TwoSumII-Inputarrayissorted题目链接167.TwoSumII-Inputarrayissorted题目目标分析一个整数数组,从中找到两个数字,使得它们的加法等于给定数字。返回这两个数字对应的下标。思路第一个想到的当然是一个一个遍历,但是会超时。我不会详细介绍。接下来的想法是利用二分法寻找比目标数小的位置来减少遍历次数。我最后想到的是把给定的数组反转,用isset搜索指定加数是否存在。最终代码数字),函数($v){返回$v>1;});$vs=array_flip($numbers);foreach($vsas$k=>$v){if(isset($vs[$target-$k])){if(isset($repeatItems[$target-$k])){返回[$v,$v+1];}返回[$v+1,$vs[$target-$k]+1];}}返回[null,null];}}如果您觉得本文对您有用,欢迎使用爱发支持。
