美文网首页
8.24 - hard - 104

8.24 - hard - 104

作者: 健时总向乱中忙 | 来源:发表于2017-08-25 09:25 被阅读0次

568. Maximum Vacation Days

又是一道dp,感觉用心去想还是可以做出来的,不过有点做不动了,看了答案,理解了一下。

class Solution(object):
    def maxVacationDays(self, flights, days):
        """
        :type flights: List[List[int]]
        :type days: List[List[int]]
        :rtype: int
        """
        # dp[i][j] - max days play if you spent week j in city i;
        # dp[i][j] = days[i][j] + max(dp[i=0,m][j + 1])
        n = len(days)
        k = len(days[0])
        dp = [[-sys.maxint for _ in range(k)] for _ in range(n)]
        
        for j in range(k-1, -1, -1):
            for i in range(n):  # 最后一周呆在某个城市所获得的收益
                dp[i][j] = days[i][j]
                for i1 in range(n):
                    if j < k - 1 and (flights[i][i1] or i == i1): # 从倒数第二周开始
                        dp[i][j] = max(dp[i][j], days[i][j] + dp[i1][j + 1])
        maxplay = dp[0][0]
        for i in range(n):
            if flights[0][i]:
                maxplay = max(maxplay, dp[i][0])
        return maxplay

相关文章

  • 8.24 - hard - 104

    568. Maximum Vacation Days 又是一道dp,感觉用心去想还是可以做出来的,不过有点做不动了...

  • 8.24 - hard - 103

    564. Find the Closest Palindrome一道数学题。。。重点是找到各种情况并且对其简化。分...

  • 8.24 - hard - 105

    587. Erect the Fence 利用一种算法叫做Monotone Chain,加上之前的旋转卡壳。。。还...

  • 8.24 - hard - 101

    546. Remove Boxes 先做出来一个backtracking的TLE版本,下面想想如何加memory,...

  • 8.24 - hard - 102

    552. Student Attendance Record II虽然知道这是一道DP题,但是这个dp状态真的很难...

  • 同舟人,誓相随,无畏更无惧

    8.24

  • 跑步第32天(37)

    8.24 休息

  • 二叉树

    一、目录 DFS 144.二叉树的前序遍历 145.二叉树的后序遍历(hard) 104.二叉树的最大深度 111...

  • 2018-06-29

    8.24第一轮

  • 19/09/2017

    Work hard,play hard,study hard, love hard.一个小姐姐跟我这么说。她说后两...

网友评论

      本文标题:8.24 - hard - 104

      本文链接:https://www.haomeiwen.com/subject/uvaydxtx.html