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

文字列をJavaScriptでセグメント化できますか


空でない文字列strと、空でない単語のリストを含む文字列arrの配列が与えられます。

strを、配列に存在する1つ以上の単語のスペースで区切られたシーケンスにセグメント化できるかどうかを判断する関数を作成する必要があります。

  • 配列内の同じ単語は、セグメンテーションで複数回再利用される可能性があります。

  • 配列に重複する単語が含まれていません。

例1

入力が

の場合
const str = "applepenapple";
const arr = ["apple", "pen"];

のため、出力はtrueである必要があります。
"applepenapple" can be segmented as "apple pen apple".

このためのコードは-

になります
const str = "applepenapple";
const arr = ["apple", "pen"];
const wordSequence = (str = '', arr = []) => {
   const map = {}
   function helper(str) {
      if (map.hasOwnProperty(str)) {
         return map[str]
      } else if (str=='') {
         return true
      }
      for (let i=0;i<=str.length;i++) {
         if (
            arr.includes(str.slice(i)) &&
            helper(str.slice(0, i))
         ){
            map[str] = true
            return true
         }
      };
      map[str] = false;
      return false;
   };
   return helper(str)
};
console.log(wordSequence(str, arr));

出力

そして、コンソールの出力は-

になります
true

  1. JavaScriptで時間文字列を修正する

    問題 「HH:MM:SS」形式の時間文字列を受け取るJavaScript関数を作成する必要があります。 しかし、それに加えて問題があり、多くのタイムストリングが壊れているため、MM部分が60を超え、SS部分も60を超える可能性があります。 この関数は、文字列に必要な変更を加えて、修正された新しい文字列を返す必要があります。 たとえば- "08:11:71" -> "08:12:11" 例 以下はコードです- const str = '08:11:71'; const rectifyTime = (str = '&#

  2. JavaScriptでスペースの位置を維持しながら文字列を反転する

    問題 スペースを含む可能性のある文字列を受け取るJavaScript関数を作成する必要があります。 この関数は、2つの別々の単語の文字やスペースを交換せずに、文字列内に存在する単語を内部的に反転させる必要があります。 例 以下はコードです- const str = 'this is normal string'; const reverseWordsWithin = (str = '') => {    let res = "";    for (let i = str.length - 1