Dãy tăng chặt (Strictly Increasing Sequence)
Một dãy số được gọi là tăng chặt nếu mọi phần tử kế tiếp đều lớn hơn phần tử trước nó. Chúng ta cần viết hàm JavaScript nhận vào mảng số, kiểm tra xem có thể tạo dãy tăng chặt bằng cách xóa không quá một phần tử hay không.
Ví dụ
Code sau đây:
const almostIncreasingSequence = (arr = []) => {
if (isIncreasingSequence(arr)) return true;
for (let i = 0; i < arr.length > 0; i++) {
let copy = arr.slice(0);
copy.splice(i, 1);
if (isIncreasingSequence(copy)) return true;
}
return false;
};
const isIncreasingSequence = (arr = []) => {
for (let i = 0; i < arr.length - 1; i++) {
if (arr[i] >= arr[i + 1]) return false;
}
return true;
};
console.log(almostIncreasingSequence([1, 3, 2, 1]));
console.log(almostIncreasingSequence([1, 3, 2]));Kết quả
Kết quả trên console:
false true