Algorithm/1일 1코테
[🥰 leetcode] 53. Maximum Subarray
대인보우
2022. 10. 14. 21:39
반응형
https://leetcode.com/problems/maximum-subarray/
Maximum Subarray - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
최댓값이 될 수 있는 연속 서브 배열을 찾아라!
나의 풀이
def maxSubArray(self, nums: List[int]) -> int:
dp = [0 for _ in range(len(nums))]
for i, n in enumerate(nums):
# 맨 처음 값이 경우 값 넣고 끝~!~~!!
if i == 0 :
dp[0] = nums[0]
continue
# 현재까지의 누적값 VS 지금 값 비교 후 더 큰 값을 저장합시데이~~~!!
dp[i] = max(nums[i], dp[i-1]+nums[i])
return max(dp)
예제 풀이
def maxSubArray(self, nums: List[int]) -> int:
for i in range(1, len(nums)):
nums[i] += nums[i-1] if nums[i-1] > 0 else 0
return max(nums)
0보다 작은 값은 어차피 - 만 되니께 전의 누적 값이 0보다 큰 값일 경우에 더 해주고 아니면 더 해주지 말자~!!
반응형