class Solution:
def wiggleMaxLength(self, nums: List[int]) -> int:
sub = []
count = 1
if len(nums) == 1 :
return count
for i in range(1, len(nums)):
if nums[i]- nums[i - 1] != 0:
sub.append(nums[i]- nums[i - 1])
if not sub: #if all the elements in nums are the same
return count
for i in range(1, len(sub)):
if sub[i] * sub[i-1] < 0:
count += 1
count += 1
return count
class Solution:
def maxSubArray(self, nums: List[int]) -> int:
curSum = 0
maxSum = nums[0]
for i in nums:
curSum += i
if curSum > maxSum:
maxSum = curSum #可以直接 maxSum = max(maxSum, curSum)
if curSum < 0 : # 也可以在for loop 最开始
curSum = 0
return maxSum