博客园

super.hill

记录搬砖中遇到的坑,欢迎批评指导!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

题1

let nums = [30,31,34,5,9]
//输出:"9534330"


function compare(a, b) {
    let al = a.length;
    let bl = b.length;
    let l = al > bl ? al : bl;
    for (let i = 0; i < l; i++) {
    // 此处重点 比较 3 与 31 的大小, 3要大于 31 let av
= a[i] || a[i-1] let bv = b[i] || b[i-1] if(av > bv){ return 1 }else if(av < bv){ return -1 } } return 0 } function quicksort(arr){ if(arr.length <= 1){ return arr } let mid = Math.floor(arr.length/2) let midVal = arr.splice(mid,1)[0] let left = [],right = [] for(let i = 0; i< arr.length; i++){ let iv = arr[i]; console.log(midVal,iv,'ivvvv') if(compare(midVal,iv) > 0){ right.push(iv) }else{ left.push(iv) } } return quicksort(left).concat([midVal]).concat(quicksort(right)) } ret let ret = quicksort(nums.map(item => item + '')) console.log(ret,'ret')

 

posted on 2021-08-17 07:42  超岭  阅读(97)  评论(0编辑  收藏  举报
博客园