Skip to content

Practice Wiggle Subsequence

Read the task, work through the examples, and check your approach against the constraints. Use the original LeetCode task for coding and submissions.

Medium#376
LeetCode Problem

Wiggle Subsequence

Problem Statement

A wiggle sequence is a sequence where the differences between successive numbers strictly alternate between positive and negative. The first difference (if one exists) may be either positive or negative. A sequence with one element and a sequence with two non-equal elements are trivially wiggle sequences. A subsequence is obtained by deleting some elements (possibly zero) from the original sequence, leaving the remaining elements in their original order. Given an integer array nums, return the length of the longest wiggle subsequence of nums. Example 1: Example 2: Example 3: Constraints: Follow up: Could you solve this in O(n) time?

Source: Wiggle Subsequence on LeetCode. Use the original task for its coding environment and submissions.

Examples

# Example 1

Input
nums = [1,7,4,9,2,5]
Output
6

# Example 2

Input
nums = [1,17,5,10,13,15,10,5,16,8]
Output
7

# Example 3

Input
nums = [1,2,3,4,5,6,7,8,9]
Output
2

Constraints

1 <= nums.length <= 1000
0 <= nums[i] <= 1000

Related LeetCode Problems

Practice more problems similar to Wiggle Subsequence.

Review your practice with PhantomCodeAI

After trying the problem yourself, use the app to discuss your approach, complexity, and edge cases.