最大数は、可能な最大数です。ここでは、整数 N と整数の文字列 M が与えられています。私たちのタスクは、整数 M の桁を使用して数値 N を形成し、最大カウントを返すことです。同時に、2 と 5 は同じ数字、6 と 9 は同じ数字と考えることができます。
説明 -5と2は同じであり、6と9も同じであるため、2つの「2」と2つの「9」があります。したがって、文字列 M (2596783) の数字を使用して数値 N (29) を形成する最大数は 2 です。
数値が「6」として取得された場合、それを「9」に変換します。
「mp」マップ内の各数値の頻度を文字と整数のペアとしてカウントします。
while ループを使用して、N が 0 より大きくなるまで数値「N」をたどり、このループで次の操作を実行します。 -
2であるかどうかを確認し、5に変換します
rem が 6 かどうかを確認し、9 に変換します
「mpN」マップ内の各桁の頻度を文字と整数のペアとしてカウントします。つまり、整数は「mpN[rem '0']」などの文字としてマップに格納されます。
N を N に減算して、数値の最後の桁を削除します
最後に、マップ 'mpN' をループして N の最大数を見つけ、このループで次の処理を実行します -
文字列のマップにキーが存在するかどうかを確認します。存在しない場合は、文字列「M」の数値を使用して数値「N」を作成できないことを意味し、「0」を返します。
変数 'tempCount' に値 (文字列 M の数値の頻度を N の現在の数値の頻度で割った値) を格納する変数を作成します。
maxCount には、tempCount と maxCount の最小値を格納します。これは、数値「N」のすべての桁が文字列「M」に出現する場合にのみ数値「N」を生成できるためです
Example
の中国語訳は次のとおりです:以上がM の数を使用すると、最大数は N になります。2 と 5、および 6 と 9 は互いに同じであると見なされます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。