gpt4 book ai didi

java - 求数组中组合的总数?

转载 作者:行者123 更新时间:2023-12-01 10:51:07 24 4
gpt4 key购买 nike

我有三个已排序的数字。我只能更改最后一个或第一个数字,以获得其他两个数字之间的数字。我最多可以更改多少个数字?

例如:1,2,5变化将是 2,3,5这里1改为2到5之间的数字第二次更改将是 3,4,5所以输出是2。谁能告诉我比下面更好的实现吗?

void printCount() {
int a[] = {0,0,0};
Scanner in=new Scanner(System.in);
System.out.println("Enter the input");
int count1=in.nextInt();
for (int j=0;j<count1;j++){
for(int i=0;i<3;i++){
a[i]=in.nextInt();
}
int count=0;
while(true){
if(a[2]==(a[1]+1) && a[1] ==(a[0]+1)){
break;
}
if((a[1]-a[0]) >a[2]-a[1]){
a[2]=a[0]+1;
}
else{
a[0]=a[1]+1;
}
count++;
Arrays.sort(a);
}
System.out.println(count);
}
}

最佳答案

一旦有了数组,为什么不做这样的事情呢?我可能错过了一些东西......

int firstDelete = Math.abs(a[2]-a[1])-1;
int thirdDelete = Math.abs(a[0]-a[1])-1;
System.out.println(Math.max(firstDelete, thirdDelete)); //Max count

关于java - 求数组中组合的总数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33896849/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com