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

JavaScript에서 while 루프를 사용하여 연속 숫자의 가장 긴 하위 배열 찾기

<시간/>

양의 정수 배열에서 가장 큰 연속 하위 배열의 길이를 결정하는 while 문으로 함수를 작성해야 합니다.

예를 들어 -

입력 배열이 -

인 경우
const input = [6, 7, 8, 6, 12, 1, 2, 3, 4] --> [1,2,3,4]

그러면 출력은 다음과 같아야 합니다. -

4

입력 배열이 -

인 경우
const input = [5, 6, 1, 8, 9, 7] --> [8,9]

그러면 출력은 다음과 같아야 합니다. -

2

따라서 이 함수의 코드를 작성해 보겠습니다 -

예시

const arr = [6, 7, 8, 6, 12, 1, 2, 3, 4];
const arr1 = [5, 6, 1, 8, 9, 7];
const findLongestSub = arr => {
   let count = 1, len = 0, max = 1;
   while(len < arr.length){
      if(arr[len] === arr[len - 1] + 1){
         count++;
         if(max < count){
            max = count;
         }
         }else{
            count = 1;
      };
      len++;
   };
   return max;
};
console.log(findLongestSub(arr));
console.log(findLongestSub(arr1));

출력

콘솔의 출력은 -

4
2