สมมุติว่าเรามีอาร์เรย์ของตัวเลขแบบนี้ −
const arr = [4, 7, 4, 8, 9, 3];
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวเลขดังกล่าว ฟังก์ชันควรค้นหาตัวเลขสามตัวดังกล่าวจากอาร์เรย์ที่มีดัชนีและขนาดของตัวเลขอยู่ในลำดับที่เพิ่มขึ้นอย่างเคร่งครัด (ติดต่อกันหรือไม่ติดต่อกัน)
ตัวอย่างเช่น ในอาร์เรย์ด้านบน ตัวเลข 7, 8 และ 9 มีดัชนี 1, 3 และ 4 ตัวเลขเหล่านี้เป็นไปตามเงื่อนไขทั้งสอง ดังนั้นฟังก์ชันของเราควรคืนค่าเป็นจริงสำหรับอาร์เรย์นี้
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const arr = [4, 7, 4, 8, 9, 3]; const findMatch = (arr) => { let stack = []; let s3 = −Infinity for (let i = arr.length − 1; i >= 0; i−−) { if (arr[i] < s3) return true while (stack.length > 0 && stack[stack.length − 1] < arr[i]) { s3 = stack.pop() }; stack.push(arr[i]) }; return false }; console.log(findMatch(arr));
ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
false