LeetCode561 陣列拆分 I

2021-09-05 07:25:29 字數 548 閱讀 1153

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

解析:分析題目可以得知,陣列整體的和是不變的,如果想要min值最大,則a和b兩個陣列的差值必須最小,細化到每個數對,則是每個數對的差值最小。把整個陣列排序,每個數和它相鄰數的差值最小。

**:

int arraypairsum(vector& nums) 

return sum;

}

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 ...

LeetCode 561 陣列拆分I

561.陣列拆分 給定長度為 2n 的整數陣列 nums 你的任務是將這些數分成 n 對,例如 a1,b1 a2,b2 an,bn 使得從 1 到 n 的 min ai,bi 總和最大。返回該 最大總和 示例 1 輸入 nums 1,4,3,2 輸出 4 解釋 所有可能的分法 忽略元素順序 為 1,...