LeetCode 164.最大間隔(並べ替え)

1137 ワード

/**
 * @description          ,         ,           。           2,    0。
 * @param {*} arr     
 * 
 * 
 *       : 292 ms,  Maximum Gap JavaScript      43.21%    
         : 34.8 MB,  Maximum Gap JavaScript      61.58%    
 */

var maximumGap = function(arr) {
  let len = arr.length
  if(len < 2) return 0
  for(let i=len-1, tmp; i>0 ;i--){
    for(let j=0; j arr[j+1]){
        arr[j] = arr[j+1]
        arr[j+1] = tmp
      }
    }
  }

  //     
  // arr.sort();  //           ,         ,           
  //     
  let max = 0;
  for(let k=0; kmax ? arr[k+1]-arr[k] : max
  }
  return max
};


/**
 * 
 * @desc          
 * 
 */

var maximumGap = function(arr) {
  let len = arr.length-1
  let max = 0;  //     
  if(len < 1) return 0
  //     
  for(let i=len, tmp; i>0; i--){
    for(let j=0; j arr[j+1]){
        arr[j] = arr[j+1]
        arr[j+1] = tmp
      }
    }
    if (i < len) {
      max = arr[i+1]-arr[i]>max ? arr[i+1]-arr[i] : max;  
    }
  }
  return Math.max(max, arr[1] - arr[0])
}