All Increasing Subset, is a Backtracking related problem and in this post we will see how we can solve this challenge in C++

Given a set of distinct integers, S, return all possible subsets.

Note: Elements in a subset must be in non-descending order. The solution set must not contain duplicate subsets. Also, the subsets should be sorted in ascending ( lexicographic ) order. The list is not necessarily sorted. Example :

If S = [1,2,3], a solution is:

[ [], [1], [1, 2], [1, 2, 3], [1, 3], [2], [2, 3], [3], ] for checking if the current subset is valid check if the numbers are sorted for each number we have 2 options: either include it or remove it include the number don't include the number

Please check the main.cpp snippet for the solution.

This solution originally posted at: Github by @susantabiswas