870. 優勢洗牌
阿新 • • 發佈:2018-12-03
870. 優勢洗牌
目的:求陣列A的新的排列方式
解題思路:對陣列A排序,對陣列B組建一個for迴圈就可以了
class Solution { public: vector<int> advantageCount(vector<int>& A, vector<int>& B) { vector<int>temp1 = A, temp2 = B; sort(temp1.begin(), temp1.end()); vector<pair<int, int>> count; vector<int>ans; for (int i = 0; i < temp2.size(); i++) { bool confine = 0;//識別符號,如果找到比陣列B中的數大的值就置1 for (int j = 0; j < temp1.size(); j++) { if (temp1[j]>temp2[i]) { ans.push_back(temp1[j]); temp1.erase(find(temp1.begin(), temp1.end(), temp1[j])); confine = 1; break; } } if (!confine)//沒找到就把陣列A中最小值賦給ans { ans.push_back(temp1[0]); temp1.erase(temp1.begin()); } } return ans; } };