1、快排
https://segmentfault.com/a/1190000017814119
思路:将数组分为两边,小的一道左边,大的移到右边,后递归
注意 :
var pivot = arr.splice(pivotIndex, 1)[0];
return quickSort(left).concat([pivot], quickSort(right));

  1. var quickSort = function(arr) {
  2. if (arr.length <= 1) {
  3. return arr;
  4. } // 重要
  5. var pivotIndex = Math.floor(arr.length / 2);
  6. var pivot = arr.splice(pivotIndex, 1)[0];
  7. var left = [];
  8. var right = [];
  9. for (var i = 0; i < arr.length; i++) {
  10. if (arr[i] < pivot) {
  11. left.push(arr[i]);
  12. } else {
  13. right.push(arr[i]);
  14. }
  15. }
  16. return quickSort(left).concat([pivot], quickSort(right));
  17. };

2、冒泡
时间复杂度 o(n*n)
重点:循环
j < nums.len -1
i < nums.leng -1 -j

  1. var bubbleSort = function(nums) {
  2. const len = nums.length - 1
  3. for (let j = 0; j < len; j++) {
  4. for (let i = 0; i < len -j; i++ ) {
  5. if (nums[i] > nums[i+1]) {
  6. let temp = nums[i]
  7. nums[i] = nums[i+1]
  8. nums[i+1] = temp
  9. }
  10. }
  11. }
  12. return nums
  13. }

448. 找到所有数组中消失的数字

https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/