1877. Minimize Maximum Pair Sum in Array LeetCode Solution

In this guide, you will get 1877. Minimize Maximum Pair Sum in Array LeetCode Solution with the best time and space complexity. The solution to Minimize Maximum Pair Sum in Array problem is provided in various programming languages like C++, Java, and Python. This will be helpful for you if you are preparing for placements, hackathons, interviews, or practice purposes. The solutions provided here are very easy to follow and include detailed explanations.

Table of Contents

  1. Problem Statement
  2. Complexity Analysis
  3. Minimize Maximum Pair Sum in Array solution in C++
  4. Minimize Maximum Pair Sum in Array solution in Java
  5. Minimize Maximum Pair Sum in Array solution in Python
  6. Additional Resources
1877. Minimize Maximum Pair Sum in Array LeetCode Solution image

Problem Statement of Minimize Maximum Pair Sum in Array

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.

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.

Given an array nums of even length n, pair up the elements of nums into n / 2 pairs such that:

Each element of nums is in exactly one pair, and
The maximum pair sum is minimized.

Return the minimized maximum pair sum after optimally pairing up the elements.

Example 1:

Input: nums = [3,5,2,3]
Output: 7
Explanation: The elements can be paired up into pairs (3,3) and (5,2).
The maximum pair sum is max(3+3, 5+2) = max(6, 7) = 7.

Example 2:

Input: nums = [3,5,4,2,4,6]
Output: 8
Explanation: The elements can be paired up into pairs (3,5), (4,4), and (6,2).
The maximum pair sum is max(3+5, 4+4, 6+2) = max(8, 8, 8) = 8.

See also  1254. Number of Closed Islands LeetCode Solution

Constraints:

n == nums.length
2 <= n <= 105
n is even.
1 <= nums[i] <= 105

Complexity Analysis

  • Time Complexity: O(\texttt{sort})
  • Space Complexity: O(\texttt{sort})

1877. Minimize Maximum Pair Sum in Array LeetCode Solution in C++

class Solution {
 public:
  int minPairSum(vector<int>& nums) {
    int ans = 0;

    ranges::sort(nums);

    for (int i = 0, j = nums.size() - 1; i < j;)
      ans = max(ans, nums[i++] + nums[j--]);

    return ans;
  }
};
/* code provided by PROGIEZ */

1877. Minimize Maximum Pair Sum in Array LeetCode Solution in Java

class Solution {
  public int minPairSum(int[] nums) {
    int ans = 0;

    Arrays.sort(nums);

    for (int i = 0, j = nums.length - 1; i < j;)
      ans = Math.max(ans, nums[i++] + nums[j--]);

    return ans;
  }
}
// code provided by PROGIEZ

1877. Minimize Maximum Pair Sum in Array LeetCode Solution in Python

class Solution:
  def minPairSum(self, nums: list[int]) -> int:
    nums.sort()
    return max(nums[i] + nums[len(nums) - 1 - i] for i in range(len(nums) // 2))
# code by PROGIEZ

Additional Resources

Happy Coding! Keep following PROGIEZ for more updates and solutions.