HTMLify

LeetCode - Minimum Pair Removal to Sort Array I - Go
Views: 25 | Author: abh
func minsumpair(nums []int) int {
	var min_sum int = (2000 * 50) + 1
	var min_inexd int = -1
	for i:=0; i<len(nums)-1; i++ {
		s := nums[i] + nums[i+1]
		if s < min_sum {
			min_sum = s
			min_inexd = i
		}
	}
	return min_inexd
}

func SliceIsSorted(nums []int) bool {
	for i:=0; i<len(nums)-1; i++ {
		if nums[i] > nums[i+1] {
			return false
		}
	}
	return true
}

func minimumPairRemoval(nums []int) int {
	var count int
	for !SliceIsSorted(nums) {
		msi := minsumpair(nums)
		nums[msi+1] += nums[msi]
		nums = append(nums[:msi], nums[msi+1:]...)
		count++
	}
	return count
}

Comments