classSolution: defmaxProfit(self, prices: List[int]) -> int: res = 0 size = len(prices) if size == 0: return0 for i inrange(1,size): if prices[i]-prices[i-1] > 0: res = res + prices[i] - prices[i-1] return res
classSolution: defwiggleMaxLength(self, nums: List[int]) -> int: size = len(nums) res1 = 0 res2 = 0 for i inrange(1,size-1): if nums[i] > nums[i-1] and nums[i] < nums[i+1]: res1 = res1 + 1 if nums[i] < nums[i-1] and nums[i] > nums[i+1]: res2 = res2 + 1 returnmax(res1,res2)
1 2 3 4 5 6 7 8 9 10 11 12
classSolution: defsimplifyPath(self, path: str) -> str: stack = [] for part in path.split('/'): if part in ('', '.'): continue if part == '..': if stack: stack.pop() else: stack.append(part) return'/'ifnot stack else'/' + '/'.join(stack)
1 2 3 4 5 6 7 8 9 10 11 12
classSolution: defsimplifyPath(self, path: str) -> str: stack = [] for part in path.split('/'): if part in ('', '.'): continue if part == '..': if stack: stack.pop() else: stack.append(part) return'/'ifnot stack else'/' + '/'.join(stack)