nextBigger wip

by trentHarlem

JavaScript

function nextBigger5(n) {
  let arr = n.toString().split('').reverse();
  let i = arr.findIndex((d, _i) => d < arr[_i - 1]);
  if (i === -1) {
    return -1;
  }
  let subarr = arr.slice(0, i);
  let j = subarr.findIndex(d => d => arr[i]);
  subarr.splice(j, i, arr[i]);
  return parseInt(
    arr
      .slice((i = 1))
      .reverse()
      .concat(arr[j])
      .concat(subarr)
      .join('')
  );
}

console.log(nextBigger5(144))

//'use strict'
/*  function nextBigger(n) {
 if(n<10){return -1}
 const numSort = n => +String(n).split('').sort((a,b)=>b-a).join('')
 //console.log('sortd',numSort(n))
 let origSort = numSort(n)
 let nextBig = n
 while(true) {
 nextBig+=1
 if(numSort(nextBig)===origSort){
 //console.log('sortd next',numSort(nextBig))
  
 return nextBig
 }
 }
 //return nextBig
 return -1
 }
 
 */



function nextBiggerLarge(n) {
  let arr = String(n).split('')
const numSort = n => +String(n).split('').sort((a,b)=>b-a).join('')

  function findLower(n) {
    //let str = String(n)
    let str = `${n}`
    let end = str.length - 1
    for (let i = 0; i < str.length; i++) {
      let slide = end - i
      let index = slide - 1
      if (str[slide] > str[index]) {
        console.log(index)
        return index
      }
    }
  }

let scissors = findLower(n)
  //(findLower(n)<1)?
  let pre = +arr.slice(0, scissors).join('')
  console.log('pre', pre)
  let post = +arr.slice(scissors).join('')
  console.log('post', post)

//let pre,post;
  let origSort = numSort(n)
  //+String(n).split('').sort((a, b) => b - a).join('')
  let nextPost = post
  //console.log('n', n)
  // console.log(nextBig)
  let nextBig = `${pre}${nextPost}`
  //console.log('nextBig', nextBig)
//console.log(+String(nextBig).split('').sort((a, b) => b - a).join(''))
  while (true) {
    nextPost += 1
  //console.log('post', post,`${pre}${post}`)
  //console.log(numSort(nextPost), numSort(post))
    
    if (numSort(nextPost) === numSort(post)) {
    
    
      //return +nextBig
      return...