题目描述:
给一组整数,按照升序排序。使用归并排序,快速排序,堆排序或者任何其他 的排序算法。
样例:
给出 [3, 2, 1, 4, 5]
, 排序后的结果为 [1, 2, 3, 4, 5]
。
做题思路:这一题同前面一题一样,也是为整数进行升序排序,但不同的是时间复杂度变了,而sort函数不仅符合上一题的要求,更符合这一题的要求,因为sort函数的时间复杂度正好是 O(n log n) 。
关键代码:
class Solution {
public:
/**
* @param A an integer array
* @return void
*/
void sortIntegers2(vector<int>& A) {
// Write your code here
sort(A.begin(),A.end());
}
};
做题感想:在做完整数排序之后,再做这一题,除了用同样的sort函数外,我还想试一下快速排序的做法,但做了很久,一直不对,无论是用递归的快速排序还是用非递归的方法,都一直越界和wrong answer,一直没有改出来,所以最后还是用的sort函数。