C++で整数を変更することで得られる最大の違い
整数のnumがあるとします。次の手順を正確に2回適用します。手順は、-
のようになります。-
0から9の範囲の数字xを選択します。
-
同じく0から9の範囲にある別の数字yを選択します。数字yはxと等しくてもかまいません。
-
numの10進表現で出現するすべてのxをyに置き換えます。新しい整数に先行ゼロを含めることはできません。また、新しい整数の値を0にすることもできません。
ここで、aとbを、それぞれ1回目と2回目のnumに操作を適用した結果であると考えます。次に、aとbの最大差を見つけます。
したがって、入力が555のような場合、最初のピックx=5およびy=9として出力は888になり、新しい整数をaに格納します。 2回目はx=5とy=1を選び、新しい整数をbに格納します。
これで、a=999とb=111になり、最大差は=999-111=888になります。
これを解決するには、次の手順に従います-
-
関数getMax()を定義します。これにはxが必要です
-
s:=xを文字列に変換
-
a:='9'
-
i:=0
-
(i
-
(iを1増やします)
-
-
i
-
a:=s [i]
-
-
初期化i:=0の場合、i
-
s [i]がaと同じ場合、-
-
s [i]:='9'
-
-
-
sを数値として返す
-
関数getMin()を定義します。これにはxが必要です
-
s:=xを文字列に変換
-
s[0]が'1'と等しくない場合、-
-
a:=s [0]
-
初期化i:=0の場合、i
-
s [i]がaと同じ場合、-
-
s [i]:='1'
-
-
-
-
それ以外の場合
-
sのサイズが1と同じ場合、-
-
1を返す
-
-
i:=0
-
a:='1'
-
while(i
-
(iを1増やします)
-
-
i
-
a:=s [i]
-
-
初期化i:=1の場合、i
-
s [i]がaと同じ場合、-
-
s [i]:='0'
-
-
-
-
sを数値として返す
-
メインの方法から、次のようにします-
-
a:=getMax(num)
-
b:=getMin(num)
-
戻る|a--b |
例
理解を深めるために、次の実装を見てみましょう-
#include <bits/stdc++.h> using namespace std; class Solution { public: int getMax(int x){ string s = to_string(x); char a = '9', b; int i = 0; while (i < s.size() && s[i] == '9') i++; if (i < s.size()) a = s[i]; for (int i = 0; i < s.size(); i++) { if (s[i] == a) { s[i] = '9'; } } return stoi(s); } int getMin(int x){ string s = to_string(x); char a; if (s[0] != '1') { a = s[0]; for (int i = 0; i < s.size(); i++) { if (s[i] == a) { s[i] = '1'; } } } else { if (s.size() == 1) { return 1; } int i = 0; a = '1'; while (i < s.size() && s[i] <= '1') i++; if (i < s.size()) a = s[i]; for (int i = 1; i < s.size(); i++) { if (s[i] == a) { s[i] = '0'; } } } return stoi(s); } int maxDiff(int num) { int a = getMax(num); int b = getMin(num); return abs(a - b); } }; main(){ Solution ob; cout << (ob.maxDiff(666)); }
入力
666
出力
888
-
iPhoneまたはiPad用のMicrosoftIEを入手できますか?
Safari、Chrome、Firefox、またはその他のものが好きかどうかにかかわらず、すべてのデバイスでお気に入りのWebブラウザを使用することをお勧めします。しかし、お気に入りのWebブラウザーがMicrosoft Internet Explorer(略称IE)である場合はどうなりますか? IEはデスクトップコンピュータでうまく機能します(Macを使用している場合を除きます。IEはMacに何年も存在していません)。 iOSデバイスも使用している場合は、iPhoneまたはiPad用のIEを入手するための回避策が必要です。 iPhoneまたはiPadのInternetExplorer?いい
-
Windows10でヘルプを取得する方法
あなたが新しいWindowsユーザーであろうと、何十年もの間PCを使ってきたのであろうと、私たち全員が少しの助けを必要とする時があります。初期のコンピュータは単にマニュアルを参照するように促していましたが、最近のシステムでは、はるかに高度な支援方法を利用できます。 ただし、Windows 10が提供するヘルプにアクセスする方法を知らないと、役に立たないでしょう。これらのヒントを使用すると、ガイダンスや情報から離れすぎないようにすることができます。必要です。 F1を押します 従来、F1はヘルプドキュメントのWindowsショートカットキーでしたが、Windows 10でも同様です。使用してい