Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การตรวจสอบลำดับเพิ่มขึ้นอย่างเคร่งครัด (Strictly Increasing Sequence) โดยลบได้สูงสุด 1 ตัวใน JavaScript

ลำดับเพิ่มขึ้นอย่างเคร่งครัด (Strictly Increasing Sequence) หมายถึงลำดับที่สมาชิกแต่ละตัวมากกว่าตัวก่อนหน้าอย่างเคร่งครัด

เราต้องเขียนฟังก์ชันตรวจสอบว่าสามารถสร้างลำดับเพิ่มขึ้นอย่างเคร่งครัดได้โดยการลบสมาชิกไม่เกิน 1 ตัวจากอาร์เรย์

ตัวอย่างโค้ด

const almostIncreasingSequence = (arr = []) => {
  if (isIncreasingSequence(arr)) { return true; }
  for (let i = 0; i < arr.length; 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])); // false
console.log(almostIncreasingSequence([1, 3, 2]));    // true

ผลลัพธ์

ค่าที่แสดงในคอนโซลจะเป็นดังนี้:

false true