1. 程式人生 > >(leetcode)程式設計題(1)

(leetcode)程式設計題(1)

程式設計題

給定長度為 2n 的陣列, 你的任務是將這些數分成 n 對, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得從1 到 n 的 min(ai, bi) 總和最大。
示例 1:
輸入: [1,4,3,2]
輸出: 4
解釋: n 等於 2, 最大總和為 4 = min(1, 2) + min(3, 4).
提示:
n 是正整數,範圍在 [1, 10000].
陣列中的元素範圍在 [-10000, 10000].
注意:
使得從1 到 n 的 min(ai, bi) 總和最大。
即:組合的方式有多種,但是需要找出一種方式可以使最小值的和最大。

import java.
util.Arrays; public class array{ public static void main(String[] args) { int[] arr = {1,2,3,4}; int sum = arraySort(arr); System.out.println(sum); } public static int arraySort(int []arr){ int sum = 0; Arrays.sort(arr); for(int i=0;i<arr.length;i+=2){ sum += Math.min(arr[i],arr[i+
1]); } return sum; } }