
- Javascript Basics Tutorial
- Javascript - Home
- Javascript - Overview
- Javascript - Syntax
- Javascript - Enabling
- Javascript - Placement
- Javascript - Variables
- Javascript - Operators
- Javascript - If...Else
- Javascript - Switch Case
- Javascript - While Loop
- Javascript - For Loop
- Javascript - For...in
- Javascript - Loop Control
- Javascript - Functions
- Javascript - Events
- Javascript - Cookies
- Javascript - Page Redirect
- Javascript - Dialog Boxes
- Javascript - Void Keyword
- Javascript - Page Printing
- JavaScript Objects
- Javascript - Objects
- Javascript - Number
- Javascript - Boolean
- Javascript - Strings
- Javascript - Arrays
- Javascript - Date
- Javascript - Math
- Javascript - RegExp
- Javascript - HTML DOM
- JavaScript Advanced
- Javascript - Error Handling
- Javascript - Validations
- Javascript - Animation
- Javascript - Multimedia
- Javascript - Debugging
- Javascript - Image Map
- Javascript - Browsers
- JavaScript Useful Resources
- Javascript - Questions And Answers
- Javascript - Quick Guide
- Javascript - Functions
- Javascript - Resources
Min window substring in JavaScript
We are required to write a JavaScript function that takes in two strings let's call them str1 and str2.
The size of str1 is guaranteed to be greater than that of str2. We are required to find the smallest substring in str1 that contains all the characters contained in str2.
For example −
If the input strings are −
const str1 = 'abcdefgh'; const str2 = 'gedcf';
Then the output should be −
const output = 'cdefg';
because this the smallest consecutive substring of str1 that contains all characters of str2.
Example
Following is the code −
const str1 = 'abcdefgh'; const str2 = 'gedcf'; const subIncludesAll = (str, str2) => { for (let i = 0; i < str.length; i++) { if (str2.indexOf(str[i]) !== -1) { str2 = str2.replace(str[i], ''); }; }; return (str2.length === 0); }; const minWindow = (str1 = '', str2 = '') => { let shortestString = null; for (let i = 0; i < str1.length; i++) { for (let j = i; j < str1.length; j++) { let testString = str1.substr(i, j-i+1); if (subIncludesAll(testString, str2)) { if (shortestString === null || testString.length < shortestString.length) { shortestString = testString; } } } } return shortestString; }; console.log(minWindow(str1, str2));
Output
Following is the output on console −
cdefg
- Related Articles
- Minimum Window Substring in C++
- Substring combination in JavaScript
- JavaScript BOM Window Screen
- Substring in infinitely extended string in JavaScript
- Window innerWidth and innerHeight Properties in JavaScript.
- Finding median for every window in JavaScript
- Average of array excluding min max JavaScript
- Calculating average of a sliding window in JavaScript
- Finding the longest substring uncommon in array in JavaScript
- Sort array based on min and max date in JavaScript?
- Removing a specific substring from a string in JavaScript
- How to open link in a new window - JavaScript?
- What is cross-browser window resize events in JavaScript?
- Target a Window Using JavaScript or HTML
- How to get substring between two similar characters in JavaScript?

Advertisements