LeetCode:用HashMap解决问题
LeetCode:用HashMap解决问题
Find Anagram Mappings
1 class Solution { 2 public int[] anagramMappings(int[] A, int[] B) { 3 Map<Integer, Integer> D = new HashMap(); 4 for (int i = 0; i < B.length; ++i) 5 D.put(B[i], i); 6 7 int[] ans = new int[A.length]; 8 int t = 0; 9 for (int x: A) 10 ans[t++] = D.get(x); 11 return ans; 12 } 13 }
思考:用字典来解决问题,巧妙将数组编号转换为页码,然后快速查表!
771.Jewels and Stones
class Solution {
public int numJewelsInStones(String J, String S) {
int result = 0;
HashMap<Character,Integer> jMap = new HashMap<>();
for(int i=0;i<J.length();i++)
jMap.put(J.charAt(i),i);
for(int i=0;i<S.length();i++)
{
if(jMap.containsKey(S.charAt(i)))
result++;
}
return result;
}
}

浙公网安备 33010602011771号