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でも同様です。使用してい