该程序的目标是使数组中的所有数字都相同。您必须每次递增数组中的所有值,除了一个。然后程序将打印出使所有数字相同所需的最少步数。我有一个我认为是可行的解决方案,我只是想让它更有效率,有人有什么想法吗?在下面的代码中,用户将数字的初始值输入到数组中,然后计算所需的步数
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;
}