Computer >> Máy Tính >  >> Lập trình >> Javascript

Kiểm tra mảng con trong mảng ban đầu với JavaScript tổng bằng 0

Chúng tôi được yêu cầu viết một hàm JavaScript nhận một mảng Số với một số giá trị âm và dương. Chúng tôi được yêu cầu xác định xem có tồn tại một mảng con trong mảng ban đầu có tổng thực bằng 0 hay không.

Hàm của chúng ta sẽ trả về một boolean trên cơ sở này.

Phương pháp tiếp cận

Cách tiếp cận ở đây là đơn giản. Chúng tôi lặp lại mảng bằng vòng lặp for, tính tích lũy cho đến phần tử cụ thể đó. Và nếu bất kỳ điểm nào tích lũy trở thành 0 hoặc đạt được một giá trị mà nó đã đạt được trước đó, thì sẽ tồn tại một mảng con với tổng bằng 0. Nếu không thì sẽ tồn tại một mảng con với tổng bằng 0.

Do đó, hãy viết mã cho hàm này -

Ví dụ

const arr = [4, 2, -1, 5, -2, -1, -2, -1, 4, -1, 5, -2, 3];
const zeroSum = arr => {
   const map = new Map();
   let sum = 0;
   for(let i = 0; i < arr.length; i++){
      sum += arr[i];
      if(sum === 0 || map.get(sum)){
         return true;
      };
      map.set(sum, i);
   };
   return false;
};
console.log(zeroSum(arr));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

true