• <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
            給出一個先單調上升后單調下降的數組,查詢某個數,若不存在輸出-1
            先三分求極值,再分左右兩段二分查找

             1 #1095
             2 #Runtime: 32 ms (Beats 61.2%)
             3 #Memory: 14.5 MB (Beats 5.8%)
             4 
             5 # """
             6 # This is MountainArray's API interface.
             7 # You should not implement it, or speculate about its implementation
             8 # """
             9 #class MountainArray(object):
            10 #    def get(self, index):
            11 #        """
            12 #        :type index: int
            13 #        :rtype int
            14 #        """
            15 #
            16 #    def length(self):
            17 #        """
            18 #        :rtype int
            19 #        """
            20 
            21 class Solution(object):
            22     def findInMountainArray(self, target, mountain_arr):
            23         """
            24         :type target: integer
            25         :type mountain_arr: MountainArray
            26         :rtype: integer
            27         """
            28         def b_search(l, r, di):
            29             while l < r:
            30                 mid = (l + r) // 2
            31                 if di == 0:
            32                     if mountain_arr.get(mid) < target:
            33                         l = mid + 1
            34                     else:
            35                         r = mid
            36                 else:
            37                     if mountain_arr.get(mid) > target:
            38                         l = mid + 1
            39                     else:
            40                         r = mid
            41             return l
            42 
            43         l, r = 0, mountain_arr.length() - 1
            44         eps = 1e-6
            45         while l < r:
            46             mid = (l + r) // 2
            47             midmid = (mid + r) // 2
            48             if mountain_arr.get(mid) >= mountain_arr.get(midmid):
            49                 r = midmid
            50             else:
            51                 l = mid + 1
            52         idx = b_search(0, l, 0)
            53         if mountain_arr.get(idx) == target:
            54             return idx
            55         idx = b_search(l + 1, mountain_arr.length() - 1, 1)
            56         if mountain_arr.get(idx) == target:
            57             return idx
            58         return -1
            久久久久久久亚洲精品| 久久精品国产2020| 66精品综合久久久久久久| 久久精品国产99国产电影网| 久久国产精品-国产精品| 韩国三级中文字幕hd久久精品| 久久无码一区二区三区少妇| 国产精品99久久99久久久| 久久久久久久99精品免费观看| 久久久久久国产a免费观看不卡| 亚洲人成网站999久久久综合 | 日产精品99久久久久久| 久久香蕉国产线看观看99| 久久久久亚洲爆乳少妇无| 久久综合给久久狠狠97色 | 国产AⅤ精品一区二区三区久久| 区亚洲欧美一级久久精品亚洲精品成人网久久久久| 久久中文字幕精品| 精品无码久久久久久久动漫| 欧美牲交A欧牲交aⅴ久久| 久久久无码精品亚洲日韩软件| 99国产精品久久| 日韩AV无码久久一区二区| 无码任你躁久久久久久| 国产69精品久久久久99尤物| 69SEX久久精品国产麻豆| 综合人妻久久一区二区精品| 热RE99久久精品国产66热| 精品久久久久久无码国产| 久久九九青青国产精品| 久久精品aⅴ无码中文字字幕重口| 亚洲欧洲久久久精品| 香蕉久久影院| 中文字幕无码久久人妻| 7777精品伊人久久久大香线蕉| 久久青青草原精品国产软件| 久久精品国产第一区二区| 国产精品午夜久久| 丰满少妇人妻久久久久久4| 精品99久久aaa一级毛片| 久久国产视频99电影|