add new solutions
This commit is contained in:
parent
886b5e0a8e
commit
67cad91898
47 changed files with 1549 additions and 1 deletions
36
solutions/35/q3507/solution.go
Normal file
36
solutions/35/q3507/solution.go
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
package q3507
|
||||
|
||||
import "math"
|
||||
|
||||
func minimumPairRemoval(nums []int) int {
|
||||
var nOp int
|
||||
var op = func() bool {
|
||||
minP, minSum := 0, math.MaxInt
|
||||
sorted := true
|
||||
for i := range len(nums) - 1 {
|
||||
sum := nums[i] + nums[i+1]
|
||||
if sum < minSum {
|
||||
minSum = sum
|
||||
minP = i
|
||||
}
|
||||
if sorted && nums[i+1] < nums[i] {
|
||||
sorted = false
|
||||
}
|
||||
}
|
||||
if sorted {
|
||||
return false
|
||||
}
|
||||
|
||||
nums[minP] += nums[minP+1]
|
||||
copy(nums[minP+1:], nums[minP+2:])
|
||||
nums = nums[:len(nums)-1]
|
||||
return true
|
||||
}
|
||||
|
||||
for op() {
|
||||
nOp++
|
||||
}
|
||||
return nOp
|
||||
}
|
||||
|
||||
var _ = minimumPairRemoval
|
||||
Loading…
Add table
Add a link
Reference in a new issue