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

JavaScriptで美しい数値文字列を決定する


数値文字列strは、次の条件を満たす2つ以上の正の整数のシーケンスarrに分割できる場合、美しい文字列と呼ばれます-

  • arr [i] --arr [i --1] =1、シーケンスのインデックス内の任意のiに対して、つまり、シーケンス内の各要素が前の要素よりも多い。

  • シーケンスのどの要素にも先行ゼロを含めることはできません。たとえば、「50607」をシーケンス[5、06、07]に分割できますが、06と07には先行ゼロがあるため、美しくありません。

  • シーケンスの内容を並べ替えることはできません。

例-

入力文字列が-

の場合
const str = '91011';

その場合、出力は-

になります。
const output = true;

目的のシーケンスは[9、10、11];

であるため

このためのコードは-

になります
const str = '91011';
const isBeautiful = (str) => {
   let i = 1;
   let count=0;
   const { length } = str;
   while(i <= length / 2){
      let check = true;
      let j = i;
      let left = BigInt(str.substring(0,j));
      let nextRange = (left + 1n).toString().length;
      while(j + nextRange <= length){
         let right=BigInt(str.substring(j,j+nextRange));
         if(left === right-1n){
            left=right;
            j+=nextRange;
            nextRange=(left+1n).toString().length;
            count=j;
         }else{
            check=false;
            break;
         }
      };
      if(check === true && count === length){
         return true;
      }
      i++;
   };
   return false;
};
console.log(isBeautiful(str));

出力

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

になります
true

  1. マジックストリング:JavaScriptの質問

    問題 マジックストリングstrは、「1」と「2」のみで構成され、次のルールに従います- 文字列strは、文字「1」と「2」の連続する出現回数を連結すると文字列str自体が生成されるため、魔法のようです。 文字列strの最初のいくつかの要素は次のとおりです- str = "1221121221221121122……" 連続する「1」と「2」をstrでグループ化すると、-になります。 1 22 11 2 1 22 1 22 11 2 11 22 ...... 各グループでの「1」または「2」の出現は-です。 1 2 2 1 1 2 1 2

  2. JavaScriptで数値文字列を0と1の文字列にエンコードする

    問題 10進数を表す文字列を受け取るJavaScript関数を作成する必要があります。 この関数は、次のルールに基づいて、この10進数を2進数に変換/エンコードする必要があります。 nの各桁dについて kをdのビット数とします 数字0のk-1倍の後に数字1を書きます 数字dをバイナリ文字列として書き込みます。右端のビットが最下位です 最後に、b)とc)の結果を連結して、dのコーディングを取得します 最後に、nの桁に対して得られたすべての結果を連結します。 したがって、コード2を0110として、3を0111としてコーディングします 例 以下はコードです- const str =