Talentd
FleetCode

3507. Minimum Pair Removal to Sort Array I

Easy65.3% acceptance5 companies

Given an array nums, you can perform the following operation any number of times:

  • Select the adjacent pair with the minimum sum in nums. If multiple such pairs exist, choose the leftmost one.
  • Replace the pair with their sum.

Return the minimum number of operations needed to make the array non-decreasing.

An array is said to be non-decreasing if each element is greater than or equal to its previous element (if it exists).

Example 1:

Input: nums = [5,2,3,1]

Output: 2

Explanation:

  • The pair (3,1) has the minimum sum of 4. After replacement, nums = [5,2,4].
  • The pair (2,4) has the minimum sum of 6. After replacement, nums = [5,6].

The array nums became non-decreasing in two operations.

Example 2:

Input: nums = [1,2,2]

Output: 0

Explanation:

The array nums is already sorted.

Constraints:

  • 1 <= nums.length <= 50
  • -1000 <= nums[i] <= 1000

Hints open one at a time

Hint 1
Simulate the operations
11:36
Still stuck?Read the written solution, or watch a walkthrough.
Open solution
Loading editor…
1class Solution:
2 def minimumPairRemoval(self, nums: List[int]) -> int:
3
Starter codePython 3Spaces: 4
Examples
Input
[5,2,3,1]
Input
[1,2,2]
Your code is saved on this device.Solution