Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptの最小ウィンドウサブストリング


2つの文字列を受け取るJavaScript関数を作成する必要があります。それらをstr1とstr2と呼びましょう。

str1のサイズはstr2のサイズよりも大きいことが保証されています。 str2に含まれるすべての文字を含むstr1の最小の部分文字列を見つける必要があります。

例-

入力文字列が-

の場合
const str1 = 'abcdefgh';
const str2 = 'gedcf';

その場合、出力は-

になります。
const output = 'cdefg';

これは、str2のすべての文字を含むstr1の最小の連続したサブストリングだからです。

以下はコードです-

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));

出力

以下はコンソールでの出力です-

cdefg

  1. JavaScriptでフルスクリーンウィンドウを作成するにはどうすればよいですか?

    JavaScriptでフルスクリーンウィンドウを作成するためのコードは次のとおりです- 例 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <style>    body{       font-family: 'Segoe UI', Tahoma, Ge

  2. JavaScriptのウィンドウinnerWidthおよびinnerHeightプロパティ。

    innerWidthプロパティはウィンドウコンテンツ領域の幅を返し、innerHeightプロパティはウィンドウコンテンツ領域の幅を返します。 以下は、JavaScriptのウィンドウinnerWidthプロパティとinnerHeightプロパティのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=d