3409. Longest Subsequence With Decreasing Adjacent Difference
3409. Longest Subsequence With Decreasing Adjacent Difference
Description
You are given an array of integers nums
.
Your task is to find the length of the longest subsequence seq
of nums
, such that the absolute differences between consecutive elements form a non-increasing sequence of integers. In other words, for a subsequence seq0, seq1, seq2, …, seqm of nums
, |seq1 - seq0| >= |seq2 - seq1| >= … >= |seqm - seqm - 1|.
Return the length of such a subsequence.
Example 1:
1 | Input: nums = [16,6,3] |
Explanation:
The longest subsequence is [16, 6, 3]
with the absolute adjacent differences [10, 3]
.
Example 2:
1 | Input: nums = [6,5,3,4,2,1] |
Explanation:
The longest subsequence is [6, 4, 2, 1]
with the absolute adjacent differences [2, 2, 1]
.
Example 3:
1 | Input: nums = [10,20,10,19,10,20] |
Explanation:
The longest subsequence is [10, 20, 10, 19, 10]
with the absolute adjacent differences [10, 10, 9, 9]
.
Constraints:
2 <= nums.length <= 10^4
1 <= nums[i] <= 300
Hints/Notes
- 2025/01/12
- dp
- 0x3F’s solution
- Biweekly Contest 147
Solution
Language: C++
1 | class Solution { |