Check Array Formation Through Concatenation LeetCode solution in C++
1class Solution {2public:3bool canFormArray(vector<int> &arr, vector<vector<int>> &pieces) {4map<int, vector<int>> mp;5// map the 1st element in pieces[i] to pieces[i]6for (auto p : pieces) mp[p[0]] = p;7vector<int> result;8for (auto a : arr) {9if (mp.find(a) != mp.end()) result.insert(result.end(), mp[a].begin(), mp[a].end());10}11return result == arr;12}13};