Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Xóa trùng lặp từ mảng đã sắp xếp trong JavaScript

Cho mảng đã sắp xếp. Viết hàm xóa trùng lặp in-place, mỗi phần tử chỉ xuất hiện một lần, trả về độ dài mới. Không cấp phát mảng mới, O(1) bộ nhớ thêm.

Ví dụ

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);

Kết quả

Kết quả in ra console:

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