[TIL]Day 143

이재희·2021년 4월 21일
0

TIL

목록 보기
143/312

숫자 array가 있을 때, 각 수들을 더했을 때 가장 큰 수가 나오는 sub array를 찾는 것을 카데인 알고리즘이라고 한다.

이는 DP로 해결할 수 있는데, 현 인덱스까지의 최대값은 바로 전 인덱스까지의 최대값 + 현재 인덱스 값 혹은 현재 인덱스 값 이기 때문이다.

https://leetcode.com/problems/maximum-subarray/submissions/

class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        for i in range(1,len(nums)):
            nums[i] = max(nums[i],nums[i-1]+nums[i])
        return max(nums)

행렬의 덧셈 계산에 zip을 사용하는 방법

def sumMatrix(A,B):
    answer = [[c + d for c, d in zip(a, b)] for a, b in zip(A,B)]
    return answer
profile
오늘부터 열심히 산다

0개의 댓글