เราจำเป็นต้องเขียนฟังก์ชันด้วยคำสั่ง while ซึ่งกำหนดความยาวของอาร์เรย์ย่อยที่ต่อเนื่องกันมากที่สุดในอาร์เรย์ของจำนวนเต็มบวก
ตัวอย่างเช่น −
หากอาร์เรย์อินพุตเป็น −
const input = [6, 7, 8, 6, 12, 1, 2, 3, 4] --> [1,2,3,4]
จากนั้นผลลัพธ์ควรเป็น −
4
หากอาร์เรย์อินพุตเป็น −
const input = [5, 6, 1, 8, 9, 7] --> [8,9]
จากนั้นผลลัพธ์ควรเป็น −
2
ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −
ตัวอย่าง
const arr = [6, 7, 8, 6, 12, 1, 2, 3, 4]; const arr1 = [5, 6, 1, 8, 9, 7]; const findLongestSub = arr => { let count = 1, len = 0, max = 1; while(len < arr.length){ if(arr[len] === arr[len - 1] + 1){ count++; if(max < count){ max = count; } }else{ count = 1; }; len++; }; return max; }; console.log(findLongestSub(arr)); console.log(findLongestSub(arr1));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
4 2