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

ค้นหาหมายเลขที่ n ที่หายไปจากอาร์เรย์ JavaScript


สมมติว่าเรามีลำดับจำนวนที่เพิ่มขึ้นอย่างเคร่งครัด (เพิ่มขึ้นตามหน่วย) ซึ่งองค์ประกอบบางอย่างหายไปเช่นนี้ -

const arr = [2,3,4,7,11];

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์เช่นอาร์กิวเมนต์แรกและตัวเลขเดียว เช่น n เป็นอาร์กิวเมนต์ที่สอง

ฟังก์ชันควรค้นหาองค์ประกอบที่ n ที่หายไปจากอาร์เรย์

ตัวอย่างเช่น −

ถ้าสำหรับอาร์เรย์ข้างต้น n =4;

ดังนั้นผลลัพธ์ควรเป็น 8 เพราะ

องค์ประกอบที่ขาดหายไปคือ −

1, 5, 6, 8

ตัวอย่าง

const arr = [2, 3, 4, 7, 11];
const findMissing = (arr = [], n) => {
   let el = 0;
   let diff = 0;
   for(let i=0; i<arr.length; ++i) {
      const difference = arr[i] - el - 1;
      const sum = diff + difference;
      if(sum>=n) {
         break;
      };
      diff = sum;
      el = arr[i];
   }
   return el + n - diff;
};
console.log(findMissing(arr, 4));

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

8