คำอธิบาย
ตรวจสอบว่าอาร์เรย์สามารถกลายเป็นลำดับเพิ่มขึ้นอย่างเคร่งครัดได้หรือไม่ โดยการลบองค์ประกอบไม่เกิน 1 ตัว
ตัวอย่าง
[1, 3, 2, 1] → false (ลบ 1 ตัวไม่ได้) | [1, 3, 2] → true (ลบ 3 หรือ 2 ได้)
ตัวอย่างโค้ด
const arr1 = [3, 5, 67, 98, 3];
const arr2 = [4, 3, 5, 67, 98, 3];
const almostIncreasingSequence = sequence => {
let removed = 0;
let i = 0;
let prev = -Infinity;
while (removed < 2 && i < sequence.length) {
if (sequence[i] > prev) {
prev = sequence[i];
} else {
prev = Math.min(prev, sequence[i]);
removed++;
}
i++;
}
return removed < 2;
};
console.log(almostIncreasingSequence(arr1)); // true
console.log(almostIncreasingSequence(arr2)); // false
ผลลัพธ์
true false