அல்கோரிதம்dp minimization

Finding Minimum Answers using Dynamic Programming — குறைந்தபட்ச DP

TT
Testlaa Team
May 14, 20261 min read

min DP — குறைந்த செலவு; infinity முன்னமைவு.

உண்மை உலகில் இது ஏன் முக்கியம்?

தாமதம் குறைப்பு; கம்பைலர்.

மையக் கருத்து (மாணவர்களுக்கான விளக்கம்)

sentinel; min புதுப்பிப்பு.

Pythonில் முயற்சி செய்வோம்

def min_path_sum(grid: list[list[int]]) -> int:
    if not grid:
        return 0
    m, n = len(grid), len(grid[0])
    dp = [[10**18] * n for _ in range(m)]
    dp[0][0] = grid[0][0]
    for i in range(m):
        for j in range(n):
            if i == 0 and j == 0:
                continue
            best = 10**18
            if i:
                best = min(best, dp[i - 1][j])
            if j:
                best = min(best, dp[i][j - 1])
            dp[i][j] = best + grid[i][j]
    return dp[-1][-1]


print(min_path_sum([[1, 3, 1], [1, 5, 1], [4, 2, 1]]))

அடிக்கடி நேரும் தவறுகள்

  • 0 எதிர் inf.
  • max/min கலப்பு.

முக்கியச் சுருக்கக் குறிப்புகள்

  • infinity வரம்பு.
  • செயலற்ற மாற்றம் சோதனை.

Tags:

Dynamic programmingPythonமாணவர்கள்