Numbers 배열을 취하는 JavaScript 함수를 작성해야 합니다. 숫자 배열은 양수와 음수를 모두 포함할 수 있습니다.
우리 함수의 목적은 (모든 길이의) 배열에서 하위 배열을 찾는 것입니다. 이 배열의 요소를 합하면 최대 합이 됩니다. 그런 다음 함수는 해당 하위 배열 요소의 합계를 반환해야 합니다.
예를 들어 -
입력 배열이 -
인 경우const arr = [-2,1,-3,4,-1,2,1,-5,4];
그러면 출력은 다음과 같아야 합니다. -
const output = 6
[4,-1,2,1]의 합이 6의 가장 큰 값이기 때문입니다.
예시
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));
출력
콘솔의 출력은 -
6