LeetCode1640 能否连接形成数组[Map] HERODING的LeetCode之路
Posted HERODING23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode1640 能否连接形成数组[Map] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。
解题思路:
用map存储pieces数组中每个子数组第一个数字的位置,之后遍历arr数组,在map中是否存在,存在则遍历该数字所在的数组是否在arr中也是连续的,不连续或者不存在返回false,最后返回true,代码如下:
class Solution
public:
bool canFormArray(vector<int>& arr, vector<vector<int>>& pieces)
int n = pieces.size();
unordered_map<int, int> mp;
for(int i = 0; i < n; i ++)
mp[pieces[i][0]] = i;
int index = 0;
while(index < arr.size())
if(mp.count(arr[index]))
vector<int> temp = pieces[mp[arr[index]]];
for(int i = 0; i < temp.size(); i ++)
if(arr[index ++] == temp[i])
continue;
else return false;
else
return false;
return true;
;
以上是关于LeetCode1640 能否连接形成数组[Map] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章