정수 배열을 지정해 nums
가장 큰 합을 갖는 (적어도 하나 개의 번호를 포함하는) 인접한 서브 어레이를 발견하고 그 합을 반환한다.
예:
입력 : [-2,1, 설 포닐, -1,2,1, -5,4], 출력 : 6 명 : [4 [-1,2,1] 최대 합 = 6 보유
시간 : O (N)
공간 : O (N)
1 급 해결책 : 2 DEF maxSubArray (자기, nums리스트 [INT]) -> INT : 3 경우 nums가 있다 없음 또는 LEN (nums) == 0 : 4 창 5 6 sum_arr = [0] * 렌 (nums) 7 sum_arr [0] = nums [0] 8 max_res의 =의 nums [0] (9) 에 대한 I 의 범위 (1 , LEN (nums)) : 10 의 경우 sum_arr [내가 - 1]> 0 : 11 sum_arr [I]는 =의 nums [I ] + sum_arr [I - 1 ] 12 다른 : 13 sum_arr [I]는 =의 nums [I]는 14 max_res = 최대 (max_res, sum_arr [I]) 15 리턴 max_res