欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

LeetCode笔记——912.排序数组

时间:2023-06-18
题目:

给你一个整数数组 nums,请你将该数组升序排列。

代码:

class Solution {public: vector sortArray(vector& nums) { //冒泡排序 int n = nums.size(); for(int i = 0; i < n -1; i++){ for(int j = 0; j < n - i -1; j++){ if(nums[j] > nums[j+1]){ int temp = nums[j]; nums[j] = nums[j+1]; nums[j+1] = temp; } } } return nums; }};

思路:

利用冒泡排序快排,即相邻数组对比让最大的数字沉底。

笔记:

1.冒泡排序的时间复杂度为O(n^2),测试案例中存在一个5000个数的排列。

原因:未经过优化的快排无法通过

2.可用基于随机选取主元的快速排序,堆排序,归并排序,类库。

来源:力扣(LeetCode)
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。