330.patching-array.go 192 B

1234567891011121314
  1. func minPatches(nums []int, n int) (cnt int) {
  2. l := len(nums)
  3. for p, i := 1, 0; p <= n; {
  4. if i < l && nums[i] <= p {
  5. p += nums[i]
  6. i++
  7. } else {
  8. p *= 2
  9. cnt++
  10. }
  11. }
  12. return
  13. }