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

JavaScriptで最大1つのスワップを使用して最大数を見つける


最初で唯一の引数として数値を受け取るJavaScript関数を作成する必要があります。

この関数のタスクは、数値の任意の2桁の間で最大1つのスワップを実行し、可能な最大数を生成することです。ただし、その数がすでに可能な最大数である場合は、その数自体を返す必要があります。

例-

入力番号が-

の場合
const num = 1625;

その場合、出力は-

になります。
const output = 6125;

1と6を交換しましたが、これが1回の交換で最大の数をもたらす唯一の交換です

このためのコードは-

になります
const num = 1625;
const findMaximumDigit = (num, max = 0) => {
   if(!num){
      return max;
   };
   return findMaximumDigit(Math.floor(num / 10), Math.max(max, num %10));
};
const makeOneSwap = (num = 1) => {
   let i = 0;
   const max = findMaximumDigit(num);
   const numStr = String(num);
   const numArr = numStr.split('');
   const maxIndex = numStr.lastIndexOf('' + max);
   while(i < maxIndex){
      if(+numStr[i] < max){
         let temp = numArr[i];
         numArr[i] = numArr[maxIndex];
         numArr[maxIndex] = temp;
         break;
      };
   };
   return +(numArr.join(''));
};
console.log(makeOneSwap(num));

出力

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

になります
6125

  1. JavaScriptで数値が三角数かどうかを調べる

    三角数 三角数は、正三角形を埋めることができる点の数です。 たとえば、-9は、各辺が4単位の正三角形を作る三角数です。 問題 数値を受け取り、三角数の場合はtrueを返し、それ以外の場合はfalseを返すJavaScript関数を作成する必要があります。 例 以下はコードです- const num = 9; const isTriangular = (num = 1) => {    let i = 4;    if(num === 1){       return true;    

  2. 最大で1つのスワップ操作C++を使用して最大数を形成します

    この問題では、正の整数が与えられます。私たちのタスクは、最大1つのスワップ操作を使用して最大数を形成するプログラムを作成することです。 既存の番号の数字を使用して新しい番号を作成します。 形成される最大の数字は、既存の数字から1桁だけ交換できます。 問題を理解するために例を見てみましょう Input: n = 63512 Output: 65312 ソリューションアプローチ この問題を解決する1つの方法は、指定された数字の数字のペアを交換することによって作成されたすべての数字を見つけることです。これらの交換されたすべての桁番号のうち、最大のものが返されます。このために、数値を文字列に