买卖股票的最佳时机
class Solution:
def maxProfit(self, prices: List[int]) -> int:
minprice = float(‘inf’)
maxprofit = 0
for price in prices:
minprice = min(minprice, price)
maxprofit = max(maxprofit, price - minprice)
return maxprofit
买卖股票的最佳时机2
class Solution:
def maxProfit(self, prices: List[int]) -> int:
maxProfit = 0
for i in range(1, len(prices)):
tmp = prices[i] - prices[i - 1]
if tmp > 0: maxProfit += tmp
return maxProfit
二叉树最大路径和
Definition for a binary tree node.
class TreeNode:
def init(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
class Solution:
def maxPathSum(self, root: TreeNode, ok=True) -> int:
if not root: return 0
l, r = self.maxPathSum(root.left, False), self.maxPathSum(root.right, False)
self.max = max(getattr(self, ‘max’, float(’-inf’)), l + root.val + r)
return self.max if ok else max(root.val + max(l, r), 0)