• <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
            給出一列數(shù)nums[i]以及一些query q[j],輸出ans[j]表示從nums[i]中可以最多選擇幾個數(shù)使得加和不超過q[j]。
            仔細想想就發(fā)現(xiàn)雖然題目中說nums順序不可交換,但因為可以隨意取一些跳過一些,所以其實順序并不影響,所以先對nums排序,然后預(yù)處理prefix sum,之后對于每個查詢q[j],二分prefix sum,看最多可以取多少個數(shù),用python自帶的二分函數(shù)依舊更快一些

            用python自帶函數(shù)

             1 #2389
             2 #Runtime: 86 ms (Beats 97.67%)
             3 #Memory: 13.9 MB (Beats 29.7%)
             4 
             5 class Solution(object):
             6     def answerQueries(self, nums, queries):
             7         """
             8         :type nums: List[int]
             9         :type queries: List[int]
            10         :rtype: List[int]
            11         """
            12         nums.sort()
            13         sums = [nums[0]]
            14         for i in range(1, len(nums)):
            15             sums.append(sums[-1] + nums[i])
            16         ans = []
            17         for q in queries:
            18             ans.append(bisect_right(sums, q))
            19         return ans


            手寫二分:

             1 #2389
             2 #Runtime: 93 ms (Beats 95.35%)
             3 #Memory: 13.8 MB (Beats 56.98%)
             4 
             5 class Solution(object):
             6     def answerQueries(self, nums, queries):
             7         """
             8         :type nums: List[int]
             9         :type queries: List[int]
            10         :rtype: List[int]
            11         """
            12         nums.sort()
            13         sums = [nums[0]]
            14         for i in range(1, len(nums)):
            15             sums.append(sums[-1] + nums[i])
            16         ans = []
            17         for q in queries:
            18             l = 0
            19             r = len(nums)
            20             while l < r:
            21                 mid = (l + r) // 2 
            22                 if sums[mid] > q:
            23                     r = mid
            24                 else:
            25                     l = mid + 1
            26             ans.append(l)
            27         return ans
            久久精品www人人爽人人| 亚洲午夜久久久久久久久电影网| 久久久久99精品成人片试看| 精品精品国产自在久久高清| 久久久久久久免费视频| 热99re久久国超精品首页| 国产偷久久久精品专区| 91精品免费久久久久久久久| 国产V综合V亚洲欧美久久| 囯产极品美女高潮无套久久久 | 国产精品VIDEOSSEX久久发布| 久久夜色精品国产网站| 亚洲精品白浆高清久久久久久| 天天综合久久一二三区| 久久涩综合| 久久精品国产欧美日韩99热| 久久国产一区二区| 久久精品国产亚洲AV香蕉| 久久人人爽人人爽人人片AV不| 少妇无套内谢久久久久| 色妞色综合久久夜夜| 久久久久国产精品嫩草影院| 欧美日韩精品久久久久| 99久久精品国产一区二区蜜芽| 久久久无码精品亚洲日韩蜜臀浪潮| 久久亚洲国产成人影院| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 久久综合亚洲色一区二区三区 | 狠狠色噜噜色狠狠狠综合久久| 久久久久九九精品影院| 久久se精品一区二区影院| 欧美精品一区二区久久| 久久精品夜色噜噜亚洲A∨| 国产毛片久久久久久国产毛片| 久久久久一区二区三区| 97久久精品人人做人人爽| 亚洲国产成人久久精品影视| 99久久精品免费看国产免费| A级毛片无码久久精品免费| 国产午夜精品久久久久九九电影 | 国内精品久久久久久久涩爱 |