美文网首页
8.19 - hard - 68

8.19 - hard - 68

作者: 健时总向乱中忙 | 来源:发表于2017-08-20 03:24 被阅读0次

330. Patching Array

又是一道greedy的题目

class Solution(object):
    def minPatches(self, nums, n):
        """
        :type nums: List[int]
        :type n: int
        :rtype: int
        """
        patch = 0
        i = 0
        miss = 1
        while miss <= n: #* invariant: [1,miss) is covered */
            if i >= len(nums) or miss < nums[i]:
                miss += miss # patch miss, now we reach miss-1 (already covered) + miss + 1 (next miss)=2*miss
                patch += 1
            else:
                miss += nums[i] # miss >= nums[i], [1,miss) + nums[i] covers miss and move forward
                i += 1

        return patch

相关文章

  • 8.19 - hard - 68

    330. Patching Array 又是一道greedy的题目

  • 8.19 - hard - 70

    336. Palindrome Pairs 基本想出来是怎么做,只是一上来就想去优化,结果想的有点乱,其实最好的方...

  • 8.19 - hard - 65

    321. Create Maximum Number 这题的想法其实比较简单。首先分情况,针对两个数组取k个数,可...

  • 8.19 - hard - 64

    317 . Shortest Distance from All Buildings 典型的BFS的题目,BFS可...

  • 8.19 - hard - 69

    335. Self Crossing 一道数学题,考虑一条边被cross的两种情况,然后依次顺延边。

  • 8.19 - hard - 66

    327. Count of Range Sum 中午请人吃饭,结果吃多了,好困,有点坐不动了。这题有segment...

  • 8.19 - hard - 67

    329. Longest Increasing Path in a Matrix 九章算法班里讲过的一道题,用记忆...

  • 8.19 - hard - 71

    340. Longest Substring with At Most K Distinct Characters...

  • 手绘05

    景观手绘, 8.18 8.19

  • 刷题

    8.19 530+15+356

网友评论

      本文标题:8.19 - hard - 68

      本文链接:https://www.haomeiwen.com/subject/pwwxdxtx.html