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

JavaScript의 정렬된 리터럴 배열에서 중복 제거

<시간/>

정렬된 리터럴 배열이 제공된다고 가정합니다. 각 요소가 한 번만 나타나고 배열의 새 길이를 반환하도록 배열에서 모든 중복을 제거하는 함수를 작성해야 합니다.

이 작업을 수행하기 위한 조건은 다른 배열에 추가 공간을 할당할 수 없다는 것입니다. O(1) 추가 메모리로 입력 배열을 수정하여 이 작업을 수행해야 합니다.

예시

이에 대한 코드는 -

const arr = [1, 3, 3, 6, 7, 7, 9, 11, 13];
const removeDuplicates = (arr = []) => {
   let i=0;
   while(i < arr.length − 1){
      let j = i + 1;
      if(arr[i] === arr[j]){
         arr.splice(j,1);
      }else{
         i++;
      }
   };
};
removeDuplicates(arr);
console.log(arr);

출력

콘솔의 출력은 -

[
   1, 3, 6, 7,
   9, 11, 13
]