functionmaxSubArray(nums:number[]):number{let result = Number.MIN_SAFE_INTEGER;let sum =0;for(let i=0; i<nums.length; i+=1){ sum += nums[i];if(result < sum) result = sum;if(sum <0) sum =0;}return result;};
result에 Number.MIN_SAFE_INTEGER 을 이용하여 최소값을 할당한다 ( 이것을 최대합값으로 사용할 예정)
sum이라는 변수를 0으로 초기화한다
배열을 순회하여 순차적으로 하나씩 다 더해줘 sum에 넣는다
sum이 result값보다 크면은 result에 sum 값을 넣는다
만약 여러 마이너스 값들을 순회해서 sum이 음수가 되어버린다면 다시 0으로 초기화 해준다