このプログラムの目標は、配列内のすべての数値を同じにすることです。毎回 1 つを除いて、配列内のすべての値をインクリメントする必要があります。次に、プログラムは、すべての数値を同じにするために必要な最小ステップ数を出力します。私はそれをより効率的にしたいだけの実用的なソリューションであると信じています。誰かアイデアはありますか? 次のコードでは、ユーザーは数値の初期値を配列に入力し、必要なステップ数を計算します。
public static void main(String[] args) throws NumberFormatException, IOException
{
counter=0;
size=sc.nextInt();
input= new int[size];
for(int k=0; k<size; k++)
{
input[k]=sc.nextInt();
}
while(!isAllEqual(input))
{
Arrays.sort(input);
for(int k=0; k<input.length-1; k++)
{
input[k]++;
}
counter++;
}
pw.println(counter);
public static boolean isAllEqual(int[] a){
for(int i=1; i<a.length; i++){
if(a[0] != a[i]){
return false;
}
}
return true;
}