1
# Runtime: 47 ms (Top 48.8%) | Memory: 16.22 MB (Top 87.1%)
2

3
#####################################################################################################################
4
# Problem: Wiggle Subsequence
5
# Solution : Dynamic Programming
6
# Time Complexity : O(n)
7
# Space Complexity : O(1)
8
#####################################################################################################################
9

10

11
class Solution:
12
def wiggleMaxLength(self, nums: List[int]) -> int:
13

14
positive, negative = 1, 1
15

16
if len(nums) < 2:
17
return len(nums)
18

19
for i in range(1, len(nums)):
20
if nums[i] > nums[i - 1]:
21
positive = negative + 1
22
elif nums[i] < nums[i - 1]:
23
negative = positive + 1
24

25
return max(positive, negative)

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0