天天看點

LeetCode題解(1626):無沖突的最佳球隊(Python)

解法 時間複雜度 空間複雜度 執行用時
Ans 1 (Python)

O

(

N

2

)

O(N^2)

O(N2)

N

O(N)

O(N)

2536ms (22.47%)
Ans 2 (Python)
Ans 3 (Python)
class Solution:
    def bestTeamScore(self, scores: List[int], ages: List[int]) -> int:
        size = len(scores)

        lst = [(ages[i], scores[i]) for i in range(size)]
        lst.sort()

        dp = [0] * size

        for i in range(size):
            for j in range(i):
                if lst[i][0] == lst[j][0] or lst[i][1] >= lst[j][1]:
                    dp[i] = max(dp[i], dp[j])
            dp[i] += lst[i][1]

        return max(dp)