Skip to content

Commit f50ddb3

Browse files
committed
add 1877. Minimize Maximum Pair Sum in Array
https://leetcode.com/problems/minimize-maximum-pair-sum-in-array/
1 parent 12ece4c commit f50ddb3

6 files changed

+109
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import java.util.Arrays;
2+
3+
class Solution {
4+
public int minPairSum(int[] nums) {
5+
Arrays.sort(nums);
6+
7+
int maxPairSum = 0;
8+
int n = nums.length;
9+
10+
for (int i = 0; i < n / 2; i++) {
11+
maxPairSum = Math.max(maxPairSum, nums[i] + nums[n - i - 1]);
12+
}
13+
14+
return maxPairSum;
15+
}
16+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
var minPairSum = function (nums) {
6+
nums.sort((a, b) => a - b);
7+
8+
let maxPairSum = 0;
9+
const n = nums.length;
10+
11+
for (let i = 0; i < n / 2; i++) {
12+
maxPairSum = Math.max(maxPairSum, nums[i] + nums[n - i - 1]);
13+
}
14+
15+
return maxPairSum;
16+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from typing import List
2+
3+
class Solution:
4+
def minPairSum(self, nums: List[int]) -> int:
5+
nums.sort()
6+
7+
max_pair_sum = 0
8+
n = len(nums)
9+
10+
for i in range(n // 2):
11+
max_pair_sum = max(max_pair_sum, nums[i] + nums[n - i - 1])
12+
13+
return max_pair_sum
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
impl Solution {
2+
pub fn min_pair_sum(nums: Vec<i32>) -> i32 {
3+
let mut nums = nums;
4+
nums.sort();
5+
6+
let mut max_pair_sum = 0;
7+
let n = nums.len();
8+
9+
for i in 0..n / 2 {
10+
max_pair_sum = max_pair_sum.max(nums[i] + nums[n - i - 1]);
11+
}
12+
13+
max_pair_sum
14+
}
15+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
function minPairSum(nums: number[]): number {
2+
nums.sort((a, b) => a - b);
3+
4+
let maxPairSum = 0;
5+
const n = nums.length;
6+
7+
for (let i = 0; i < n / 2; i++) {
8+
maxPairSum = Math.max(maxPairSum, nums[i] + nums[n - i - 1]);
9+
}
10+
11+
return maxPairSum;
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
## [1877. Minimize Maximum Pair Sum in Array](https://leetcode.com/problems/minimize-maximum-pair-sum-in-array/)
2+
3+
The **pair sum** of a pair `(a,b)` is equal to `a + b`. The **maximum pair sum** is the largest **pair sum** in a list of pairs.
4+
5+
- For example, if we have pairs `(1,5)`, `(2,3)`, and `(4,4)`, the **maximum pair sum** would be `max(1+5, 2+3, 4+4) = max(6, 5, 8) = 8`.
6+
7+
Given an array `nums` of **even** length `n`, pair up the elements of `nums` into `n / 2` pairs such that:
8+
9+
- Each element of `nums` is in **exactly one** pair, and
10+
- The **maximum pair sum** is **minimized**.
11+
12+
Return _the minimized **maximum pair sum** after optimally pairing up the elements_.
13+
14+
#### Example 1:
15+
16+
<pre>
17+
<strong>Input:</strong> nums = [3,5,2,3]
18+
<strong>Output:</strong> 7
19+
<strong>Explanation:</strong> The elements can be paired up into pairs (3,3) and (5,2).
20+
The maximum pair sum is max(3+3, 5+2) = max(6, 7) = 7.
21+
</pre>
22+
23+
#### Example 2:
24+
25+
<pre>
26+
<strong>Input:</strong> nums = [3,5,4,2,4,6]
27+
<strong>Output:</strong> 8
28+
<strong>Explanation:</strong> The elements can be paired up into pairs (3,5), (4,4), and (6,2).
29+
The maximum pair sum is max(3+5, 4+4, 6+2) = max(8, 8, 8) = 8.
30+
</pre>
31+
32+
#### Constraints:
33+
34+
- `n == nums.length`
35+
- <code>2 <= n <= 10<sup>5</sup></code>
36+
- `n` is **even**.
37+
- <code>1 <= nums[i] <= 10<sup>5</sup></code>

0 commit comments

Comments
 (0)