...

/

Minimum Window Subsequence

Minimum Window Subsequence

Try to solve the Minimum Window Subsequence problem.

Statement

Given two strings, s1 and s2, find and return the shortest substring of s1 in which all the characters of s2 appear in the same order, but not necessarily next to each other (i.e., s2 should be a subsequence of the substring).

If no such substring exists, return an empty string "". If there are multiple shortest substrings, return the one that appears first in s1 (i.e., with the left-most starting index).

Note:substring is a contiguous sequence of characters within a string. A subsequence is a sequence of characters that can be derived from a string by deleting some characters without changing the order of the remaining characters. For example, “edu” is a substring and “cave” is a subsequence of “educative.”

Constraints:

  • 11 \leq s1.length 2×103\leq 2 \times 10^{3}

  • 11 \leq s2.length 100\leq 100

  • s1 and s2 consist of uppercase and lowercase English letters.

Understand the problem

Let’s take a moment to make sure you’ve correctly understood the problem. The quiz below helps you check if you’re solving the correct problem:

Minimum Window Subsequence

1.

What are valid substrings of “Educative”? Multi-select

A.

“tive”

B.

“ude”

C.

“cat”

D.

“vit”


1 / 5

Figure it out!

We have a game for you to play. Rearrange the logical building blocks to develop a clearer understanding of how to solve this problem.

Sequence - Vertical
Drag and drop the cards to rearrange them in the correct sequence.

1
2
3
4
5

Try it yourself

Implement your solution in main.cpp in the following coding playground:

C++
usercode > main.cpp
#include <climits>
string MinWindow(string s1, string s2){
// Replace this placeholder return statement with your code
return "";
}
Minimum Window Subsequence

Access this course and 1200+ top-rated courses and projects.