 # Have you come across these questions while practising to code?

❓ Given an array of integers that might contain duplicates, return all possible subsets.
Try the Question here ⬅️

❓ Given two sequences, find the length of the longest subsequence present in both of them. Both the strings are of uppercase.
Try the Question here ⬅️

❓ Find out the maximum sub-array of non-negative numbers from an array.
Try the Question here ⬅️

If you want to attempt these questions, you should know the difference between Subset, Subsequence, and Subarray.

Let us understand these 3 terms using a simple example.

Suppose we are given an array of numbers, {10,20,30,40,50}, we need to find: Subset, subsequence, and subarray.

# Subarray:

A subarray is a contiguous sequence in an array.

{10,20,30} ✅
{10,20} ✅
{10,30} ❌

# Subsequence:

A subsequence is a set of elements not necessarily contiguous but should maintain order.

{10,20,30} ✅
{10,30} ✅
{10,40,30} ❌

# Subset:

A subset is a subsequence, except it also includes an empty set {}.

{10,20,30} ✅
{10,40} ✅
{} ✅

FACT: All subsets are subsequences, and all subsequences are subsets!

Now you'll never confuse these terms!

Keep learning! Keep growing! 💖

### Discussion   