เพิ่มลำดับ
เรากำหนดอาร์เรย์ว่าเพิ่มขึ้นหาก arr[i] <=arr[i + 1] มีค่าสำหรับทุก ๆ i (0-based) เช่นนั้น (0 <=i <=n - 2)
ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของจำนวนเต็ม arr เป็นอาร์กิวเมนต์แรกและอาร์กิวเมนต์เดียว
ฟังก์ชันของเราควรกำหนดว่าเราสามารถแปลงอาร์เรย์นี้เป็นอาร์เรย์ที่เพิ่มขึ้นโดยแก้ไขอย่างน้อยหนึ่งองค์ประกอบในอาร์เรย์ได้หรือไม่
หากเราทำได้เราควรคืนค่าจริงเท็จมิฉะนั้น
ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ
ป้อนข้อมูล
const arr = [8, 3, 3, 7, 9];
ผลผลิต
const output = true;
คำอธิบายผลลัพธ์
เพราะเราสามารถแทนที่ 8 ที่ดัชนี 0 ด้วย 1 หรือ 2 เพื่อให้ได้อาร์เรย์ที่ต้องการ
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr = [8, 3, 3, 7, 9]; const canConvert = (arr = []) => { const find = () => { for (let i = 1; i < arr.length; i++) { if (arr[i] < arr[i - 1]) { return false } } return true } for (let i = 0; i < arr.length; i++) { if (arr[i] < arr[i - 1]) { const temp = arr[i] arr[i] = arr[i - 1] if (find(arr)) { return true } arr[i] = temp arr[i - 1] = arr[i] return find(arr) } } return true } console.log(canConvert(arr));
ผลลัพธ์
true