• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Uriel's Corner

            Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
            posts - 0, comments - 50, trackbacks - 0, articles - 594
            給出一系列任務(wù),每個任務(wù)i需要在時刻tasks[i][0]之后才能開始運行,需要運行的時長為tasks[i][1],問如果用一個單線程CPU運行這堆任務(wù),應(yīng)該怎樣安排先后順序
            *如果兩個任務(wù)開始時間相同,則先運行耗時短的任務(wù)

            先將所有任務(wù)按照開始時間排序,然后維護一個最小堆,初始時間為開始時間最早的任務(wù)的開始時間,然后把運行開始時間不晚于這個時刻的任務(wù)壓進heap,heap的排序依據(jù)為運行時間,同時保存各個任務(wù)的id。然后每次pop heap頂端的任務(wù),更新現(xiàn)在的時刻為該任務(wù)的開始時間+需要運行的時間,再將符合這一更新后時間的任務(wù)壓進heap,直到處理完所有任務(wù)
            用python的heapq實現(xiàn)

             1 #1834
             2 #Runtime: 1831 ms (Beats 94.44%)
             3 #Memory: 64.2 MB (Beats 27.78%)
             4 
             5 class Solution(object):
             6     def getOrder(self, tasks):
             7         """
             8         :type tasks: List[List[int]]
             9         :rtype: List[int]
            10         """
            11         ans = []
            12         tasks = sorted([(t[0], t[1], i) for i, t in enumerate(tasks)])
            13         i = 0
            14         cur_time = tasks[0][0]
            15         h = []
            16         while len(ans) < len(tasks):
            17             while i < len(tasks) and tasks[i][0] <= cur_time:
            18                 heapq.heappush(h, (tasks[i][1], tasks[i][2]))
            19                 i += 1
            20             if h:
            21                 t, idx = heapq.heappop(h)
            22                 cur_time += t
            23                 ans.append(idx)
            24             elif i < len(tasks):
            25                 cur_time = tasks[i][0]
            26         return ans

            国内精品久久久久久99| 亚洲欧洲精品成人久久曰影片| 亚洲国产精品无码久久| 韩国免费A级毛片久久| 久久精品二区| 7777久久亚洲中文字幕| 色诱久久av| 精品欧美一区二区三区久久久| 少妇人妻综合久久中文字幕| 久久综合狠狠色综合伊人| 亚洲国产另类久久久精品小说| 久久久久女教师免费一区| 婷婷综合久久中文字幕蜜桃三电影| 26uuu久久五月天| 久久精品国产亚洲AV高清热 | 久久久婷婷五月亚洲97号色| 久久精品成人免费观看97| 久久精品国产99国产精品澳门 | 伊人色综合九久久天天蜜桃| 狠狠88综合久久久久综合网| 精品国产乱码久久久久软件| 久久亚洲精品无码观看不卡| 欧美一区二区精品久久| 91精品国产综合久久久久久| 九九久久自然熟的香蕉图片| 亚洲国产精品无码久久久不卡| 一极黄色视频久久网站| 久久中文字幕精品| 久久久免费观成人影院| 久久久久国产| 亚洲人成无码网站久久99热国产| 久久99精品国产一区二区三区| 99久久精品国产麻豆| 久久美女人爽女人爽| 国产视频久久| 久久青青草原精品国产不卡| 亚洲国产精品综合久久网络| 久久人人爽人人爽人人片av麻烦| 97精品依人久久久大香线蕉97| 性做久久久久久久| 久久99国产精品久久久|