Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ค้นหาอาร์เรย์ย่อยที่ยาวที่สุดของตัวเลขต่อเนื่องกันด้วยลูป while ใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชันด้วยคำสั่ง 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