Giả sử, chúng ta có một dãy số tăng dần (tăng một đơn vị), trong đó thiếu một số phần tử như thế này -
const arr = [2,3,4,7,11];
Chúng tôi được yêu cầu viết một hàm JavaScript lấy một mảng như đối số đầu tiên và một số duy nhất, chẳng hạn như n, làm đối số thứ hai.
Hàm sẽ tìm phần tử thứ n bị thiếu trong mảng.
Ví dụ -
Nếu đối với mảng trên, n =4;
Sau đó, đầu ra phải là 8, bởi vì
Các yếu tố bị thiếu là -
1, 5, 6, 8
Ví dụ
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));
Đầu ra
Điều này sẽ tạo ra kết quả sau -
8