class Solution:
def minimumPairRemoval(self, nums: List[int]) -> int:
if Solution.is_Sorted(nums) or len(nums) == 1:
return 0
if len(nums) == 2:
return 1
op = 0
while(Solution.is_Sorted(nums) == False):
min_sum = nums[0] + nums[1]
min_sum_index = 0
for j in range(len(nums) - 1):
curr_pair_sum = nums[j] + nums[j+1]
if curr_pair_sum < min_sum:
min_sum = curr_pair_sum
min_sum_index = j
if min_sum_index + 2 == len(nums):
nums = nums[:min_sum_index] + [min_sum]
op += 1
else:
nums = nums[:min_sum_index] + [min_sum] + nums[min_sum_index + 2:]
op += 1
return op
def is_Sorted(nums):
if len(nums) == 0:
return False
if len(nums) == 1:
return True
isSorted = False
for i in range(len(nums) - 1):
if nums[i] > nums[i+1]:
return False
return True