LC_599
今天是一道简单的hash题目
题目如下

代码如下
1 class Solution { 2 public String[] findRestaurant(String[] list1, String[] list2) { 3 Map<String,Integer> s1Map = new HashMap<String,Integer>(); 4 int len = list1.length; 5 for(int i = 0; i < len; i++){ 6 s1Map.put(list1[i],i); 7 } 8 List<String> ret = new ArrayList<>(); 9 int minIdx = -1; 10 for(int i = 0; i < list2.length; i++){ 11 String str = list2[i]; 12 if(minIdx != -1 && i > minIdx){ 13 break; 14 } 15 if(s1Map.containsKey(str)){ 16 int idx = s1Map.get(str) + i; 17 if(minIdx == -1){ 18 ret.add(str); 19 minIdx = idx; 20 }else if(idx < minIdx){ 21 ret.clear(); 22 ret.add(str); 23 minIdx = idx; 24 }else if(idx == minIdx){ 25 ret.add(str); 26 } 27 //minIdx = idx; 28 } 29 } 30 return ret.toArray(new String[ret.size()]); 31 } 32 }
疫情快点结束吧,我还得上班呢。

浙公网安备 33010602011771号