Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Kiểm tra mảng con có tổng bằng 0 trong mảng gốc JavaScript


Chúng ta cần viết hàm JavaScript nhận vào mảng số có giá trị dương và âm, xác định xem có tồn tại mảng con nào có tổng bằng 0 hay không. Hàm trả về boolean.

Cách tiếp cận: duyệt mảng, tính tổng tích lũy. Nếu tổng tích lũy bằng 0 hoặc lặp lại giá trị đã từng có → tồn tại mảng con tổng 0.

Dưới đây là mã:

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));

Kết quả

Đầu ra trong console sẽ là:

true