1122 陣列的相對排序

2021-09-25 15:25:37 字數 886 閱讀 9949

給你兩個陣列,arr1arr2

arr1中的元素進行排序,使arr1中項的相對順序和arr2中的相對順序相同。未在arr2**現過的元素需要按照公升序放在arr1的末尾。

示例:

輸入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6]

輸出:[2,2,2,1,4,3,3,9,6,7,19]

分析:因為涉及到對元素的查詢,所以想到了使用map,因為對每乙個數字進行查詢太耗時

class solution else

// 將有沒有出現在arr2中的數字加入到not_found中

if(map_arr2.find(arr1[i]) == map_arr2.end())

not_found.push_back(arr1[i]);

}// 將出現在arr1中的arr2的數字進行輸出

vectorresult;

for(int i=0; ifor(int j=0; jresult.push_back(arr2[i]);

// 新增未出現過的數字

sort(not_found.begin(),not_found.end());

result.insert(result.end(),not_found.begin(),not_found.end());

return result;

}};

1122 陣列的相對排序

給你兩個陣列,arr1 和 arr2,arr2 中的元素各不相同 arr2 中的每個元素都出現在 arr1 中 對 arr1 中的元素進行排序,使 arr1 中項的相對順序和 arr2 中的相對順序相同。未在 arr2 現過的元素需要按照公升序放在 arr1 的末尾。示例 輸入 arr1 2,3,1...

1122 陣列的相對排序

題目描述 給你兩個陣列,arr1 和 arr2,arr2 中的元素各不相同 arr2 中的每個元素都出現在 arr1 中 對 arr1 中的元素進行排序,使 arr1 中項的相對順序和 arr2 中的相對順序相同。未在 arr2 現過的元素需要按照公升序放在 arr1 的末尾。示例 輸入 arr1 ...

1122 陣列的相對排序

給你兩個陣列,arr1 和 arr2,arr2 中的元素各不相同 arr2 中的每個元素都出現在 arr1 中 對 arr1 中的元素進行排序,使 arr1 中項的相對順序和 arr2 中的相對順序相同。未在 arr2 現過的元素需要按照公升序放在 arr1 的末尾。示例 輸入 arr1 2,3,1...