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! 💖

This post is also available on DEV.