給你兩個陣列,arr1
和arr2
,
對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...