[leetcode] Hash Table-760. Find Anagram Mappings

出门莫恨无人随,书中车马多如簇。这篇文章主要讲述[leetcode] Hash Table-760. Find Anagram Mappings相关的知识,希望能为你提供帮助。
Given two lists  Aand  B, and  B  is an anagram of  AB  is an anagram of  A  means  B  is made by randomizing the order of the elements in  A.
We want to find an  index mapping  P, from  A  to  B. A mapping  P[i] = j  means the  ith element in  A  appears in  B  at index  j.
【[leetcode] Hash Table-760. Find Anagram Mappings】These lists  A  and  B  may contain duplicates. If there are multiple answers, output any of them.
For example, given

A = [12, 28, 46, 32, 50] B = [50, 12, 32, 46, 28]

 
We should return
[1, 4, 3, 2, 0]

as  P[0] = 1  because the  0th element of  A  appears at  B[1], and  P[1] = 4  because the  1st element of  A  appears at  B[4], and so on.
 
Note:
  1. A, B  have equal lengths in range  [1, 100].
  2. A[i], B[i]  are integers in range  [0, 10^5].
    class Solution { public: vector< int> anagramMappings(vector< int> & A, vector< int> & B) { unordered_map< int, int> m; vector< int> res; for (int i = 0; i < B.size(); i++) m[B[i]] = i; for (auto& a : A) { if (m.count(a)) { res.push_back(m[a]); } else { res.push_back(0); } } return res; } };

     

    推荐阅读