gpt4 book ai didi

java - 比较数组中的数字

转载 作者:行者123 更新时间:2023-11-30 08:37:53 25 4
gpt4 key购买 nike

我在 java 中有一个包含两个元素的数组。

我如何最好地决定是应该添加这些还是只选择其中之一(哪个?)以便尽可能接近 1000?

我确实做错了什么,它总是把两个数字相加!

    if(myArray.length==2){
int a = 1000-(myArray[0]);
int b = 1000-(myArray[1]);
int c = 1000-(myArray[0]+myArray[1]);

if( (1000-a) < (1000-b)){
if((a+b)<1000){
bestAnswer = myArray[0]+myArray[1];
}
else{
bestAnswer = myArray[0];
}
}


if( (1000-a) > (1000-b)){
if((a+b)<1000){
bestAnswer = myArray[0]+myArray[1];
}
else{
bestAnswer = myArray[0];
}
}
else{
if((1000-(myArray[0]+myArray[1]))<(1000-(myArray[0]))){
bestAnswer = myArray[0]+myArray[1];
}
else{
bestAnswer = myArray[0];
}
}

最佳答案

您需要使用 c 的绝对值来捕获 c 超过 1000 的用例。

int a = 1000-(myArray[0]);
int b = 1000-(myArray[1]);
int c = Math.abs(1000-(myArray[0]+myArray[1]));

if( a < Math.min(b, c)) {
bestAnswer = myArray[0];
}
else if(b < Math.min(a, c)) {
bestAnswer = myArray[1];
}
else {
bestAnswer = myArray[0]+myArray[1];
}

关于java - 比较数组中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36874878/

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