LeetCode 陣列拆分I

2021-09-18 02:24:33 字數 761 閱讀 1730

給定長度為 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].

思路分析:由於陣列是長度是確定的,所以構成的對數也是確定,我們將會取得陣列的一半。先將陣列進行公升序排序,我們取出所有偶數下標(從0開始)的和即可。

第0個元素(最小)nums[0]必定會與某個元素組合,而這個對的較小值就是nums[0],所有我們應該將最小的大於等於它的元素與它組合,就是nums[1]

第2個元素(最小)nums[2]必定會與某個元素組合,而這個對的較小值就是nums[2],所有我們應該將最小的大於等於它的元素與它組合,就是nums[3]

LeetCode561 陣列拆分 I

給定長度為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 陣列中的元...

LeetCode 561 陣列拆分 I

給定長度為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 陣列中的元...

LeetCode 561 陣列拆分I

給定長度為 2n 的陣列,你的任務是將這些數分成 n 對,例如 a1,b1 a2,b2 an,bn 使得從1 到 n 的 min ai,bi 總和最大。示例 1 輸入 1,4,3,2 n 是正整數,範圍在 1,10000 陣列中的元素範圍在 10000,10000 1 按照題目的要求,如果想得從1 ...