题目描述:
自己的提交:O(N)
class Solution: def maxScore(self, cardPoints: List[int], k: int) -> int: copy1 = [0] + cardPoints[:] copy2 = [0] + cardPoints[::-1] for i in range(1,k+1): copy1[i] += copy1[i-1] copy2[i] += copy2[i-1] res = float("-inf") for i in range(k+1): res = max(res,copy1[i]+copy2[k-i]) return res
方法二:O(N)
class Solution: def maxScore(self, cardPoints: List[int], k: int) -> int: s=sum(cardPoints[:k]) t=s for i in range(k): t+=cardPoints[-i-1]-cardPoints[k-i-1] s=max(s,t) return s
原文:https://www.cnblogs.com/oldby/p/12784710.html