• <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
            給一列已經排好序的數,問是否存在其中兩個數之和等于給定的target,保證有且僅有一個解
            試了兩種方法,速度差不多


            方法一:左右兩個指針分別從首尾開始掃,如果相加小于target則左邊指針右移,否則右邊指針左移

             1 #167
             2 #Runtime: 237 ms
             3 #Memory Usage: 14.3 MB
             4 
             5 class Solution(object):
             6     def twoSum(self, numbers, target):
             7         """
             8         :type numbers: List[int]
             9         :type target: int
            10         :rtype: List[int]
            11         """
            12         l = 0
            13         r = len(numbers) - 1
            14         while l < r:
            15             if numbers[l] + numbers[r] == target:
            16                 return [l + 1, r + 1]
            17             if numbers[l] + numbers[r] > target:
            18                 r -= 1
            19             else:
            20                 l += 1

            方法二:左邊指針從第一個數開始向右掃,然后二分查找右邊是否存在一個數與當前左邊指針的數相加為target

             1 #167
             2 #Runtime: 243 ms
             3 #Memory Usage: 14.9 MB
             4 
             5 class Solution(object):
             6     def twoSum(self, numbers, target):
             7         """
             8         :type numbers: List[int]
             9         :type target: int
            10         :rtype: List[int]
            11         """
            12         for i in range(0, len(numbers) - 1):
            13             l = i + 1
            14             r = len(numbers) - 1
            15             while l <= r:
            16                 mid = int((l + r) / 2)
            17                 #print(mid)
            18                 if numbers[i] + numbers[mid] == target:
            19                     return([i + 1, mid + 1])
            20                 if numbers[i] + numbers[mid] < target:
            21                     l = mid + 1
            22                 else:
            23                     r = mid - 1
            思思久久精品在热线热| 久久人人爽人人爽人人片AV不| 久久精品一区二区国产| 国产高潮久久免费观看| 狠狠色丁香久久婷婷综合图片 | 91精品国产91久久久久久| 超级碰久久免费公开视频| 99久久99久久精品国产片果冻| 99久久精品影院老鸭窝| 久久天天躁夜夜躁狠狠| 久久久久综合网久久| 婷婷久久久亚洲欧洲日产国码AV | 欧美激情精品久久久久久久| 亚洲AV无码久久精品蜜桃| 久久综合一区二区无码| 久久91精品国产91久久麻豆| 99蜜桃臀久久久欧美精品网站| 色综合合久久天天综合绕视看| 国内精品人妻无码久久久影院导航| 伊人久久精品线影院| 久久精品9988| 情人伊人久久综合亚洲| 精品久久久久香蕉网| 亚洲午夜久久久| 无码人妻久久一区二区三区蜜桃| 国产精品热久久毛片| 国产免费久久精品99久久| 久久精品国产亚洲综合色| 久久99精品国产一区二区三区| 国产亚洲色婷婷久久99精品| 色妞色综合久久夜夜| 婷婷伊人久久大香线蕉AV| 亚洲国产欧洲综合997久久| 亚洲日本va中文字幕久久| 无码人妻久久一区二区三区免费丨 | 久久久久久国产精品免费免费 | 久久久久成人精品无码| 久久一区二区三区免费| 香蕉久久久久久狠狠色| 狠狠色狠狠色综合久久| 久久精品国产亚洲av麻豆小说|