[英]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 種不同的組合,但我希望有人能指出我更快的方向。
先找出最小的數。
因此,對於 3 2 5 5,它將是 2。確保您存儲它。
因此,要求和的數字是 3、5 和 5
要獲得總和,您需要將所有數字加在一起,以便:
3 + 2 + 5 + 5 = 15
然后從總和中減去最小的數字。 所以 15-2 等於 13
首先找到四個數字中最大的一個並將其放在一邊。
然后找出剩下的三個數字中最大的一個,並把它放在一邊。
然后找到剩下的兩個數字中最大的一個並將其放在一邊。
然后總結保留在一邊的數字並顯示結果。
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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.