Python, C++, JavaScript, SQL 및 TypeScript의 다양한 LeetCode 솔루션을 살펴보세요. 여러 프로그래밍 언어로 인터뷰 준비, 학습 및 코드 연습에 적합합니다. Github 레포 링크
목차
비녀장중간
정수 배열이 주어지면 숫자
, 합이 가장 큰 하위 배열을 찾아 반환합니다. 그 합계.
예시 1:
입력: 숫자 = [-2,1,-3,4,-1,2,1,-5,4] 산출: 6 설명: 하위 배열 [4,-1,2,1]의 합이 가장 큰 값은 6입니다.
예 2:
입력: 숫자 = [1] 산출: 1 설명: 하위 배열 [1]의 합이 가장 큽니다.
예시 3:
입력: 숫자 = [5,4,-1,7,8] 산출: 23 설명: 하위 배열 [5,4,-1,7,8]의 합은 23이 가장 큽니다.
제약:
1 <= 숫자.길이 <= 10 5
-10 4 <= 숫자[i] <= 10 4
후속 조치: 당신이 알아 낸 경우 에)
솔루션을 사용하여 다른 솔루션을 코딩해 보세요. 분열시켜 정복하라 접근 방식은 더 미묘합니다.
파이썬
클래스 해결책: def maxSubArray(self, nums: List[int]) -> int: maxNum = -100000 sum = 0 for i in range(len(nums)): sum += nums[i] if sum < nums[i ]: 합계 = 숫자[i] maxNum = max(sum, maxNum) return maxNum