정렬된 리터럴 배열이 제공된다고 가정합니다. 각 요소가 한 번만 나타나고 배열의 새 길이를 반환하도록 배열에서 모든 중복을 제거하는 함수를 작성해야 합니다.
이 작업을 수행하기 위한 조건은 다른 배열에 추가 공간을 할당할 수 없다는 것입니다. 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 ]