本文主要是介绍leetcode 599. Minimum Index Sum of Two Lists | 599. 两个列表的最小索引总和,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目
https://leetcode-cn.com/problems/minimum-index-sum-of-two-lists/
题解
思路和题解一致,用 map 搞定。效率低可能是因为建了两个 map。
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;class Solution {public String[] findRestaurant(String[] list1, String[] list2) {HashMap<String, Integer> map1 = new HashMap<>();for (int i = 0; i < list1.length; i++)map1.put(list1[i], i);HashMap<String, Integer> map2 = new HashMap<>();for (int i = 0; i < list2.length; i++)if (map1.containsKey(list2[i])) map2.put(list2[i], map1.get(list2[i]) + i);int min = Integer.MAX_VALUE;for (Map.Entry<String, Integer> e : map2.entrySet())min = Math.min(min, e.getValue());ArrayList<String> list = new ArrayList<>();for (Map.Entry<String, Integer> e : map2.entrySet())if (e.getValue() == min) list.add(e.getKey());String[] result = new String[list.size()];list.toArray(result);return result;}
}
这篇关于leetcode 599. Minimum Index Sum of Two Lists | 599. 两个列表的最小索引总和的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!