gpt4 book ai didi

java - 对列表中的数字对进行排序

转载 作者:行者123 更新时间:2023-12-02 10:09:55 24 4
gpt4 key购买 nike

我想编写一个程序,从数字列表中选择数字对。但这对应该是最小数之和和最大数之和。在下一步中,我想将它们从最小到最大排序,以显示最小数字的总和和最大数字的总和。实现例1入口:[1,2,4,8,9]输出:最小对 [1, 2 = 3 ],最大对 [8, 9 = 17]

如何对数字对进行排序?

public class Tabli {
public static void main(String[] args) {

int[] numbers = {12, 36, 2, 5,12,31};

int sum0 = numbers[0] + numbers[1];
System.out.println(sum0);

int sum1 =numbers[1] +numbers[2];
System.out.println(sum1);

int sum2 =numbers[2] +numbers[3];
System.out.println(sum2);

int sum3 =numbers[3] +numbers[4];
System.out.println(sum3);

int sum4 =numbers[4] +numbers[5];
System.out.println("End:"+sum4);

int sum = 0;
for (int i = 0; i< numbers.length; i++) {

sum += numbers[i];

}
for (int j = 0; j < (numbers.length)-8; j++) {
sum1 += numbers[j];
System.out.println("Sum: " + sum);

}
System.out.println("Sum: " + sum1);
}
}

最佳答案

试试这个:

int[] numbers = {12, 36, 2, 5,12,31};
int min = numbers[0] + numbers[1]; // instantiate randomly
int max = numbers[0] + numbers[1]; // instantiate randomly
for (int i = 0; i < numbers.length - 1; i++) {
min = Math.min(numbers[i] + numbers[i + 1], min);
max = Math.max(numbers[i] + numbers[i + 1], max);
}
System.out.println(min + ", " + max);

输出为:

7, 48

此解决方案对于任何长度的 numbers 数组都有效。

编辑

numbers需要排序时,只需在numbers定义之后添加Arrays.sort(numbers);即可。

关于java - 对列表中的数字对进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55068826/

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