= $so ) { continue; } if ( $diff < $min_diff ) { $min_diff = $diff; } if ( ! array_key_exists($diff, $matchs) ) { $matchs[$diff] = [[$i, $i+1]]; continue; } array_push($matchs[$diff], [$i, $i+1]); } $res = []; foreach ( $matchs[$min_diff] as $t ) { $f = $arr[$abs_arr_keys[$t[0]]]; $s = $arr[$abs_arr_keys[$t[1]]]; array_push($res, [$f, $s]); } return $res; } } function main() { function r($a, $exp) { $S = new Solution; $r = $S->minimumAbsDifference($a); $str_a = json_encode($a); $str_r = json_encode($r); $str_exp = json_encode($exp); echo "Solution().minimumAbsDifference(\"$str_a\") = $str_r | exp: $str_exp\n"; } r([4,2,1,3], [[1,2],[2,3],[3,4]]); r([1,3,6,10,15], [[1,3]]); r([3,8,-10,23,19,-4,-14,27], [[-14,-10],[19,23],[23,27]]); } main();