Leetcode 문제를 해결하고 꿈의 회사로부터 제안 받기||최소 경로 합계
Leetcode 문제 64: 최소 경로 합계
이 시리즈에서는 친구들과 함께 라이브로 Leetcode 미디엄 문제를 해결할 것입니다. YouTube 채널에서 볼 수 있습니다. 오늘 우리는 문제 Leetcode: 64를 할 것입니다. 최소 경로 합
나에 대해 조금, 과거에 Uber India와 Amazon India에서 제안을 받았고 현재 암스테르담의 Booking.com에서 일하고 있습니다.
알고리즘을 배우게 된 동기
Solve Leetcode Problems and Get Offers From Your Dream Companies
문제 설명
음수가 아닌 숫자로 채워진 m x n 그리드가 주어지면 왼쪽 위에서 오른쪽 아래로 경로를 따라 모든 숫자의 합을 최소화하는 경로를 찾습니다.
Note: You can only move either down or right at any point in time
예 1:
Input: grid = [[1,3,1],[1,5,1],[4,2,1]]
Output: 7
Explanation: Because the path 1 → 3 → 1 → 1 → 1 minimizes the sum.
예 2:
Input: grid = [[1,2,3],[4,5,6]]
Output: 12
제약:
유튜브 토론
해결책
접근법 1: 무차별 대입
Brute Force 접근 방식에는 재귀가 포함됩니다. 각 요소에 대해 오른쪽과 아래쪽의 두 경로를 고려하고 이 두 경로에서 최소 합계를 찾습니다. 합계를 최소화하기 위해 올바른 단계를 수행해야 하는지 또는 하향 단계를 수행해야 하는지 여부를 지정합니다.
비용(i, j) = 그리드[i][j] + min(비용(i+1, j), 비용(i, j+1))
다음 코드는 이 알고리즘을 구현합니다.
C++ 솔루션
자바 솔루션
<script id="gist-ltag"src="https://gist.github.com/SudhanshuGulhane/0354eeda66a8d80fa96cb101f98f2fd1.js"/>
복잡성 분석
시간 복잡도는 O(2^(m+n))
시간 복잡도는 O(m+n)
O(n*m) 시간복잡도로 이 문제를 풀 수 있습니다.
아이디어는 각 인덱스(i, j)에 대해 왼쪽 상단에서 인덱스(i, j)까지의 최소 경로를 찾는 것입니다.
첫 번째 행 및 열 대소문자
첫 번째 행에서는 오른쪽으로만 이동할 수 있으므로 첫 번째 행의 인덱스에 도달하기 위한 최소 경로 합계는 왼쪽 상단에서 해당 인덱스까지 모든 요소의 합계입니다.
첫 번째 열의 경우 아래로만 이동할 수 있으므로 첫 번째 행의 인덱스에 도달하기 위해 최소 경로 합계는 왼쪽 상단에서 해당 인덱스까지 모든 요소의 합계입니다.
기타 사례
이제 인덱스(i, j)에 도달하려면 두 가지 옵션이 있습니다.
<올>
인덱스(i-1,j)에서 도달
또는 인덱스 (i, j-1)에서 도달
이 두 인덱스 중 최소값을 선택합니다. 그리드의 나머지 부분에 동일한 직관을 적용하면 왼쪽 상단에서 오른쪽 하단까지의 최소 경로 합계를 찾을 수 있습니다.
C++ 솔루션
<script id="gist-ltag"src="https://gist.github.com/SudhanshuGulhane/e06a224179312899c4c3fce158696f55.js"/>
자바 솔루션
<script id="gist-ltag"src="https://gist.github.com/SudhanshuGulhane/909cacb6f78e91f7c5e26f164bfe028b.js"/>
복잡성 분석
시간 복잡도는 O(n*m)
공간 복잡도는 O(1)
읽어주셔서 감사합니다. 더 많은 LeetCode 문제를 보려면 이 간행물을 팔로우하세요!😃
Reference
이 문제에 관하여(Leetcode 문제를 해결하고 꿈의 회사로부터 제안 받기||최소 경로 합계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nilmadhabmondal/solve-leetcode-problems-and-get-offers-from-your-dream-companies-minimum-path-sum-1g5j텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)