之前做的一个leetcode的题目记录下(留个纪念)
作者:互联网
<?php //一个leetcode的题目,提供一个数组与和 筛选出数组中加起来等于这个和的元素 /** * *两层循环解法 */ function test($arr,$target) { $count = count($arr); $used = []; $result = []; for($i=0;$i<$count;$i++) { $num1 = $arr[$i]; if(in_array($num1,$used)) { continue; } for($j=$i+1;$j<$count;$j++) { $num2 = $arr[$j]; if(in_array($num2,$used)) { continue; } if($num1+$num2 == $target) { $tmp = [$num1,$num2]; array_push($used,$num1,$num2); $result[] = [$i,$j]; } } } return $result; } /** * * 一层循环解法 * */ function test1($arr,$target) { $used = []; $result = []; for($i=0;$i<count($arr);$i++) { $num = $arr[$i]; if(in_array($num,$used)) { continue; } $sub = $target - $num; // 如果差在数组当中 if(in_array($sub,$arr)) { array_push($used,$num,$sub); $result[] = [$i,array_search($sub,$arr)]; } } return $result; } $nums = [2, 7, 3, 6,1,8]; $target = 9; var_dump(test1($nums,$target));
标签:留个,题目,记录,纪念,之前,leetcode 来源: https://www.cnblogs.com/tudou1223/p/11577947.html