79405502

Date: 2025-02-01 18:51:22
Score: 1
Natty:
Report link

Thank you to you Ed Bayiates.

Your lines of code helped me to solve a similar problem I had. I extended your code a little cuz there was a small detail missing I needed. Now it makes sure lowest unused number will never be "0".

let k = [1,3,4];

function getLowestFreeNumber(){
let lowestUnusedNumber = -1;


  if (k.length === 0) {
    lowestUnusedNumber = 1;
    return lowestUnusedNumber;
  }

  k.sort((a, b) =>  a - b);

  for (let i = 0; i < k.length; ++i) {
     if (k[i] > 0 && k[i] != i + 1) {
      lowestUnusedNumber = i + 1;
      break;
    }
  }

  if (lowestUnusedNumber == -1) {
    lowestUnusedNumber = k[k.length - 1] + 1;
  }

  return lowestUnusedNumber;
}

console.log(getLowestFreeNumber())

I hope this few lines of code will help someone...

Reasons:
  • Blacklisted phrase (0.5): Thank you
  • Blacklisted phrase (0.5): I need
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Steven0age