美文网首页
8.28 - hard - 112

8.28 - hard - 112

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

632. Smallest Range

竞赛时候手写出来的题目,就不重新做了

import heapq
class Solution(object):
    def smallestRange(self, nums):
        """
        :type nums: List[List[int]]
        :rtype: List[int]
        """
        heap = []
        index  = [0 for _ in range(len(nums))]
        
        for i in range(len(nums)):
            if not nums[i]:
                return []
            heapq.heappush(heap, (nums[i][0], i))
        
        cur_range = max(heap)[0] - min(heap)[0]
        res = [min(heap)[0], max(heap)[0]]
        cur_max = res[1]
        while True:
            _, i = heap[0]
            if index[i] == len(nums[i]) - 1:
                return res
            else:
                heapq.heappop(heap)
            index[i] += 1
            heapq.heappush(heap, (nums[i][index[i]], i))
            cur_min, _ = heap[0]
            if nums[i][index[i]] > cur_max:
                cur_max = nums[i][index[i]]
            if cur_range > cur_max - cur_min:
                cur_range = cur_max - cur_min
                res = [cur_min, cur_max]
        

相关文章

  • 8.28 - hard - 112

    632. Smallest Range 竞赛时候手写出来的题目,就不重新做了

  • 8.28 - hard - 111

    631. Design Excel Sum Formula 这题目的描述真是茫茫长。。。

  • 8.28 - hard - 116

    656. Coin Path 竞赛的时候知道是DP问题,结果到最后也没做出来。。。今天脑子很木讷,感觉啥题都不会做...

  • 8.28 - hard - 117

    660. Remove 9 这道题就是搞成9进制就好了

  • 8.28 - hard - 118

    664. Strange Printer 记忆化搜索,感觉有时候能想到DP基本上就算是胜利了。

  • 8.28 - hard - 119

    668. Kth Smallest Number in Multiplication Table今天总结的比较麻木...

  • 8.28 - hard - 113

    639. Decode Ways II 虽然竞赛时候这道题AC了,不过写的code 狗啃一般,找了一个清爽的答案,...

  • 8.28 - hard -115

    644. Maximum Average Subarray II 利用二分法

  • 8.28 - hard - 114

    642. Design Search Autocomplete System 这题要多做几遍,很好的设计题

  • 19/09/2017

    Work hard,play hard,study hard, love hard.一个小姐姐跟我这么说。她说后两...

网友评论

      本文标题:8.28 - hard - 112

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