Maximum Subarray

박수빈·2022년 3월 3일
0

leetcode

목록 보기
34/51

문제

  • 정수 리스트 nums
  • 가장 큰 합인 contiguous subarray 찾기
  • sum 리턴

풀이

  • 어제 푼 문제와 비슷하군....
  • 누적합 문제인데 안풀리네...
  • dp로 접근하면 됐는데, 투포인터로 접근해서 해맸다
  • 앞의 값들에 영향을 계속 받으니까 dpㄱ ㅏ적절하고
  • 목표로 하는 정확한 수치가 있었다면 투포인터, 윈도우 기법이 적절했을 듯
class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        # dp로 생각해보자...
        N = len(nums)
        dp = [0 for _ in range(N)]
        
        for ind, el in enumerate(nums):
            dp[ind] = max(dp[ind-1]+nums[ind], nums[ind])
        
        return max(dp)

결과

68% 정도 속도.
아니 easy 난이도인데 엄청 해맸네........................

profile
개발자가 되고 싶은 학부생의 꼼지락 기록

0개의 댓글