LETCODE 1122 the related of array

这道题按照题目要求解答就可以了

class Solution {
public:
	vector<int> relativeSortArray(vector<int>& arr1, vector<int>& arr2) 
	{
		map<int, int>arry;
		map<int, int>arry2;
		vector<int>c1;
		vector<int>c2;
		for (int i = 0; i < arr1.size(); i++)
		{
			arry[arr1[i]]++;
		}
		for (int i = 0; i < arr2.size(); i++)
		{		
				for (int j = 0; j < arry[arr2[i]]; j++)
				{
					c1.push_back(arr2[i]);
				}
		}
		for (int i = 0; i < arr2.size(); i++)
		{
			arry2[arr2[i]]++;
		}
		for (int i = 0; i < arr1.size(); i++)
		{
			if (arry2[arr1[i]] == 0)
				c2.push_back(arr1[i]);
		}
		sort(c2.begin(), c2.end());
		for (int i = 0; i < c2.size(); i++)
		{
			c1.push_back(c2[i]);
		}
		return c1;
	}
};

用map来计算数组中的元素 的个数,将其分离再接上就好了

发布了9 篇原创文章 · 获赞 0 · 访问量 134

猜你喜欢

转载自blog.csdn.net/qq_40742888/article/details/97619561