2017-10-21 79 views
-5

當給出4個數時,我如何找到4個數中的哪3個數會給出最大的總和。 所以,如果給3 2 5 5,我想java總結3 5 5總共13讓java給出4個數中最高的3個數

我一直在尋找約20分鐘,我發現的是我如何找到4個數字的最高數字。我知道我完全可以寫16行代碼,比較16種不同的組合,但我希望有人能指出我的速度更快。

+1

你到目前爲止嘗試過什麼? – Blip

+1

我們會在您的評估提交中得到確認嗎? – Hassan

+0

請注意,請添加您到目前爲止嘗試過的代碼,指定它的輸出結果,這樣也許有人可以提供幫助。 – Hassan

回答

1

首先找到最小的數字。

因此,對於3 2 5 5這將是2.確保你存儲這個。

因此,號碼之和3,5和5

要得到你需要的所有的數字加在一起,所以總金額:

3 + 2 + 5 + 5 = 15

然後從總和中減去最小的數字。所以15-2等於13

+0

這正是我正在尋找的。我剛剛學會了如果語句,所以我仍然是相當新的Java和這個算法只是激發我知道如何得到我需要的結果.. –

+0

@TylerR很高興我可以幫助 –

0

首先找出四個數字中最大的一個,並將其放在一邊。

然後找到其餘三個數字中最大的一個,並將其放在一邊。

然後找到其餘兩個數字中最大的一個,並將其放在一邊。

然後總結留下的數字並顯示結果。

-1
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; 
} 
+2

不只是勺子餵食讓他學習。 – Blip

相關問題