599. Minimum Index Sum of Two Listsphp
給定兩個數組,返回其交集,在交集中返回他們在各自數組的下標之和最小。數組
由於去找一個元素在不在另外一個數組的話,須要逐個比較。所以咱們在這裏先把兩個數組都翻過來,用isset函數去判斷是否存在元素。函數
在循環體外保存最小和,判斷兩個相同的元素的下標之和是否小於最小值。是則替換,並置空交集數組。不然判斷是否相等於當前最小值。相等則追加進交集數組。不相等說明大於最小值,拋棄便可。.net
<?php class Solution { /** * @param String[] $list1 * @param String[] $list2 * @return String[] */ function findRestaurant($list1, $list2) { $list1 = array_flip($list1); $list2 = array_flip($list2); $min = 99999999999; $intersect = []; foreach($list1 as $name => $v){ if(!isset($list2[$name])){ continue; } if($v+$list2[$name] < $min){ $min = $v + $list2[$name]; $intersect = [$name]; } else if($v+$list2[$name] == $min){ $intersect[] = $name; } } return $intersect; } }
若以爲本文章對你有用,歡迎用愛發電資助。code