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

文字列の一部を再配置して、JavaScriptで別の文字列を形成できます


問題

str1とstr2の2つの文字列を受け取るJavaScript関数を作成する必要があります。 str1文字の一部をstr2に一致するように再配置できる場合、関数はtrueを返す必要があります。それ以外の場合は、falseを返します。

以下はコードです-

const str1 = 'rkqodlw';
const str2 = 'world';
const canForm = (str1 = '', str2 = '') => {
   if(str1.length < str2.length){
      return false;
   };
   const res = str2.split('');
   str1.split("").forEach(val => {
      if(res.includes(val)){
         res.splice(res.indexOf(val), 1);
      };
   });
   return res.length === 0;
};
console.log(canForm(str1, str2));

出力

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

true

  1. 特定の文字列の文字を再配置して、Pythonで回文を形成できるかどうかを確認します

    文字列sがあるとすると、指定された文字列の文字をシャッフルして回文を作成できるかどうかを確認する必要があります。 したがって、入力がs =raaecrcのような場合、これを回文である racecarに再配置できるため、出力はTrueになります。 これを解決するには、次の手順に従います- freq:=すべての文字とその頻度をsに格納するためのマップ odd_count:=0 freqのすべての値のリストにある各要素iについて、を実行します。 iが奇数の場合、 odd_count:=odd_count + 1 1の場合、 Falseを返す Trueを返す 理解

  2. Pythonで文字列を再配置して特別な回文を形成できるかどうかを確認します

    文字列があるとします。指定された文字列の文字をシャッフルして回文を作成できるかどうかを確認する必要があります。 したがって、入力がs =aarcrceのような場合、文字をシャッフルして回文である「レースカー」を形成できるため、出力はTrueになります。 これを解決するには、次の手順に従います- サイズ:=256 freq:=サイズ256の配列で、0で埋めます 0からsのサイズの範囲のiについては、 freq配列の文字s[i]の頻度を1増やします odd_count:=0 0からサイズの範囲のiの場合は、 freq [i]がiddの場合、 odd_count:=odd_