博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Find Anagram Mappings 寻找异构映射
阅读量:5908 次
发布时间:2019-06-19

本文共 1184 字,大约阅读时间需要 3 分钟。

 

Given two lists and 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.

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 Aappears 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].

 

这道题给了我们两个数组A和B,说是A和B中的数字都相同,但是顺序不同,有点类似错位词的感觉。让我们找出数组A中的每个数字在数组B中的位置。这道题没有太大的难度,用个HashMap建立数组B中的每个数字和其位置之间的映射,然后遍历数组A,在HashMap中查找每个数字的位置即可,参见代码如下:

 

class Solution {public:    vector
anagramMappings(vector
& A, vector
& B) { vector
res; unordered_map
m; for (int i = 0; i < B.size(); ++i) m[B[i]] = i; for (int num : A) res.push_back(m[num]); return res; }};

 

类似题目:

 

转载地址:http://cuvpx.baihongyu.com/

你可能感兴趣的文章
Unity3d的Sprite Packer用法介绍
查看>>
Caused by: java.sql.SQLException: ORA-24816: 在实际的 LONG 或 LOB 列之后提供了扩展的非 LONG 绑定数据...
查看>>
bash快捷建-光标移到行首、行尾等
查看>>
两行代码解决端口冲突
查看>>
set(集合)
查看>>
jquery学习之add()
查看>>
K-Anonymous Sequence
查看>>
ASP过滤HTML的通用函数
查看>>
Dojo 1.7 Release Notes翻译完成,包含若干重大更新
查看>>
关于org.slf4j.LoggerFactory
查看>>
如何解决WebBrowser.DocumentCompleted事件的多次调用
查看>>
JAVA_内部类
查看>>
UVa 10566 - Crossed Ladders 【二分】
查看>>
CF79D Password
查看>>
jxl 导入excel
查看>>
poj 2983 Is the Information Reliable? (差分约束)
查看>>
POJ 2479 Maximum sum【最大连续和2】
查看>>
手机体验系列之三
查看>>
在ubuntu中用apt-get安装LEMP栈(linux+nginx+mysql+php)
查看>>
javaWeb项目-文件下载的消息头和编码问题
查看>>