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

Tìm mảng con có tổng lớn nhất (Kadane) trong JavaScript

Cho mảng số (có âm, dương). Tìm mảng con liên tiếp có tổng lớn nhất (thuật toán Kadane).

Ví dụ

const arr = [-2,1,-3,4,-1,2,1,-5,4]; const maxSubArray = (arr = []) => {    let sum = arr[0], max = arr[0];    for (let i = 1; i < arr.length; ++i){       sum = Math.max(sum + arr[i], arr[i]), max = Math.max(max, sum);    };    return max; }; console.log(maxSubArray(arr));

Kết quả

6