使 java 给出给定的 4 个数字中 3 个数字中最大的总和
Make java give the the highest sum of 3 numbers out of 4 given
当给定 4 个数字时,我如何找出 4 个数字中哪 3 个数字的总和最大。
因此,如果给定 3 2 5 5,我希望 java 对 3 5 5 求和,总共 13
我已经搜索了大约 20 分钟,我发现的只是如何找到 4 个数字中的最大数字。我知道我绝对可以只写 16 行代码来比较 16 种不同的组合,但我希望有人能指出我更快的方向。
先找出四个数中最大的一个,放在一边。
然后找出剩余三个数中最大的一个,放在一边。
然后找出剩余两个数中最大的一个,放在一边。
然后将放在一边的数字相加并显示结果。
public static void main(String args[]) {
int[] vals = new int[4];
vals[0] = 3;
vals[1] = 2;
vals[2] = 5;
vals[3] = 5;
int result = sum4(vals);
System.out.println("Sum of x+y = " + result);
}
private static int sum4(int[] nums)
{
int retVal = 0;
int lowest = Integer.MAX_VALUE;
for (int i=0; i<nums.length; i++)
{
if (nums[i] < lowest)
lowest = nums[i];
retVal += nums[i];
}
retVal -= lowest;
return retVal;
}
先找出最小的数。
因此对于 3 2 5 5 它将是 2。请务必存储它。
因此,求和的数字是 3、5 和 5
要获得总和,您需要将所有数字相加,因此:
3 + 2 + 5 + 5 = 15
然后从总和中减去最小的数。所以 15-2 等于 13
当给定 4 个数字时,我如何找出 4 个数字中哪 3 个数字的总和最大。 因此,如果给定 3 2 5 5,我希望 java 对 3 5 5 求和,总共 13
我已经搜索了大约 20 分钟,我发现的只是如何找到 4 个数字中的最大数字。我知道我绝对可以只写 16 行代码来比较 16 种不同的组合,但我希望有人能指出我更快的方向。
先找出四个数中最大的一个,放在一边。
然后找出剩余三个数中最大的一个,放在一边。
然后找出剩余两个数中最大的一个,放在一边。
然后将放在一边的数字相加并显示结果。
public static void main(String args[]) {
int[] vals = new int[4];
vals[0] = 3;
vals[1] = 2;
vals[2] = 5;
vals[3] = 5;
int result = sum4(vals);
System.out.println("Sum of x+y = " + result);
}
private static int sum4(int[] nums)
{
int retVal = 0;
int lowest = Integer.MAX_VALUE;
for (int i=0; i<nums.length; i++)
{
if (nums[i] < lowest)
lowest = nums[i];
retVal += nums[i];
}
retVal -= lowest;
return retVal;
}
先找出最小的数。
因此对于 3 2 5 5 它将是 2。请务必存储它。
因此,求和的数字是 3、5 和 5
要获得总和,您需要将所有数字相加,因此:
3 + 2 + 5 + 5 = 15
然后从总和中减去最小的数。所以 15-2 等于 13