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

JavaScriptで最大1桁のシャッフルによって形成される最小の数値


問題

正の数nをとるJavaScript関数を書く必要があります。最大で1つの操作を実行できます-

数字の中の数字のインデックスを選択し、そのインデックスでこの数字を削除し、別の数字または数字の同じ場所に挿入して、取得できる最小の数字を見つけます。

関数はこの最小の数値を返す必要があります。

以下はコードです-

const num = 354166;
const smallestShuffle = (num) => {
   const arr = String(num).split('');
   const { ind } = arr.reduce((acc, val, index) => {
      let { value, ind } = acc;
      if(value > val){
         value = val;
         ind = index;
      };
      return { value, ind };
   }, { value: Infinity, ind: -1 });
   const [item] = arr.splice(ind, 1);
   arr.unshift(item);
   return Number(arr.join(''));
};
console.log(smallestShuffle(num));

出力

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

135466

  1. JavaScriptでn桁を削除した後の最小数

    問題 2つの数値を受け取るJavaScript関数を作成する必要があります。これらを、それぞれ1番目と2番目の引数としてmとnと呼びましょう。 この関数のタスクは、数値mからn桁を削除して、数値mがn桁を削除した後に可能な最小の数値になるようにすることです。そして最後に、関数は数字を削除した後に数値mを返す必要があります。 たとえば、関数への入力が-の場合 const m = '45456757'; const n = 3; その場合、出力は-になります。 const output = '44557'; 出力の説明: 可能な限り最小の数にするために、5

  2. C++での1桁の数

    数nがあるとすると、n以下のすべての非負の数に現れる数字1の総数を数える必要があります。したがって、入力が15の場合、出力は8になります。これは、1を含む数値が[1,10,11,12,13,14,15]であるため、81が8つあるためです。 これを解決するには、次の手順に従います- ret:=0 i:=1を初期化する場合、i <=nの場合、i =i * 10 do − a:=n / i、b:=n mod i、x:=a mod 10 xが1と同じ場合、 ret =ret +(a / 10)* i +(b + 1) それ以外の場合、xが0と同じ場合、-