LeetCode 0491. Non-decreasing Subsequences Solution in Java, Python, C++, JavaScript, Go & Rust | Explanation + Code

CoderIndeed
0
0491. Non-decreasing Subsequences

Description

Given an integer array nums, return all the different possible non-decreasing subsequences of the given array with at least two elements. You may return the answer in any order.

 

Example 1:

Input: nums = [4,6,7,7]
Output: [[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7],[7,7]]

Example 2:

Input: nums = [4,4,3,2,1]
Output: [[4,4]]

 

Constraints:

  • 1 <= nums.length <= 15
  • -100 <= nums[i] <= 100

Solutions

Solution 1

PythonJavaC++Go
class Solution: def findSubsequences(self, nums: List[int]) -> List[List[int]]: def dfs(u, last, t): if u == len(nums): if len(t) > 1: ans.append(t[:]) return if nums[u] >= last: t.append(nums[u]) dfs(u + 1, nums[u], t) t.pop() if nums[u] != last: dfs(u + 1, last, t) ans = [] dfs(0, -1000, []) return ans(code-box)

Post a Comment

0Comments

Post a Comment (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Accept !