Live Batches
Masterclasses
Menu
Free Courses
Account
Login / Sign Up

Generate All Subsequence

Medium Acceptance 56.00% Points 30.00

You are given an array of integers. Your task is to generate all possible subsequences of the array

A subsequence is formed by selecting elements in the same order as the original array, but you may skip any element. The empty subsequence is also allowed.

Examples
Example 1

Example 1

Input: arr[] = [5]

Output: [] [5]

Explanation: The element can be skipped or taken.

Example 2

Example 2

Input: arr[] = [1 2 3]

Output: [] [1] [2] [3] [1 2] [1 3] [2 3] [1 2 3]

Explanation: Elements are chosen while keeping their original order, forming different subsequences.

Example 3

Example 3

Input: arr[] = [1 2 3 4]

Output: [] [1] [2] [3] [4] [1 2] [1 3] [1 4] [2 3] [2 4] [3 4] [1 2 3] [1 2 4] [1 3 4] [2 3 4] [1 2 3 4]

Explanation: By including or skipping each element in order, all possible subsequences are generated.

Hints
Hint 1
N/A
Constraints
  • 1 = n = 20
  • -10? = arr[i] = 10?
Companies
Bloomberg
Topics
Recursion
Solution.cs C#JavaPythonC++Javascript

Unlock the code editor

Sign in to write, run, and submit your solution against the full test suite.

  • Run code against sample & hidden test cases
  • Save submissions and track your streak
  • Compare with editorial & community solutions