Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

배열 JavaScript에서 n번째 누락된 숫자 찾기

<시간/>

다음과 같이 일부 요소가 누락된 엄격하게 증가하는 숫자 시퀀스(단위 증가)가 있다고 가정합니다.

const arr = [2,3,4,7,11];

첫 번째 인수로 하나의 배열을 취하고 두 번째 인수로 단일 숫자(예:n)를 취하는 JavaScript 함수를 작성해야 합니다.

함수는 배열에서 누락된 n번째 요소를 찾아야 합니다.

예를 들어 -

위 배열의 경우 n =4;

그러면 출력은 8이 되어야 합니다.

누락된 요소는 -

1, 5, 6, 8

예시

const arr = [2, 3, 4, 7, 11];
const findMissing = (arr = [], n) => {
   let el = 0;
   let diff = 0;
   for(let i=0; i<arr.length; ++i) {
      const difference = arr[i] - el - 1;
      const sum = diff + difference;
      if(sum>=n) {
         break;
      };
      diff = sum;
      el = arr[i];
   }
   return el + n - diff;
};
console.log(findMissing(arr, 4));

출력

이것은 다음과 같은 출력을 생성합니다 -

8