Chúng ta phải viết một hàm nhận vào một mảng số / chuỗi ký tự. Hàm sẽ loại bỏ tất cả các phần tử liên tiếp dư thừa của mảng mà không sử dụng thêm dung lượng bộ nhớ.
Ví dụ:nếu mảng đầu vào là -
const arr = [17, 17, 17, 12, 12, 354, 354, 1, 1, 1];
Sau đó, đầu ra phải là -
const output = [17, 12, 354, 1];
Do đó, hãy viết mã cho chức năng này -
Ví dụ
Mã cho điều này sẽ là -
const arr = [17, 17, 17, 12, 12, 354, 354, 1, 1, 1]; const comp = (arr, len = 0, deletable = false) => { if(len < arr.length){ if(deletable){ arr.splice(len, 1); len--; } return comp(arr, len+1, arr[len] === arr[len+1]) }; return; }; comp(arr); console.log(arr);
Đầu ra
Đầu ra trong bảng điều khiển sẽ là -
[ 17, 12, 354, 1 ]