• <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
            伊人久久大香线蕉影院95| 色婷婷久久综合中文久久一本| 亚洲成色www久久网站夜月 | 国产一区二区精品久久| 久久免费高清视频| 天堂无码久久综合东京热| 精品熟女少妇AV免费久久| 91久久国产视频| 人妻丰满AV无码久久不卡| 久久久久婷婷| 成人国内精品久久久久影院| 亚洲国产天堂久久综合| 99麻豆久久久国产精品免费| 久久亚洲精品无码VA大香大香| 久久九九有精品国产23百花影院| 少妇人妻综合久久中文字幕| 日韩精品久久久久久| 青草国产精品久久久久久| 久久久久久午夜精品| 精品久久久久中文字幕一区| 久久久久亚洲精品无码蜜桃| 中文成人无码精品久久久不卡| 久久久久四虎国产精品| 久久精品国产亚洲精品2020| 久久久久亚洲AV片无码下载蜜桃| 久久婷婷人人澡人人| 久久亚洲欧洲国产综合| 国产午夜福利精品久久| 蜜桃麻豆www久久| 韩国无遮挡三级久久| 精品免费tv久久久久久久| A狠狠久久蜜臀婷色中文网| 久久久久亚洲av无码专区喷水| 亚洲va久久久噜噜噜久久| 午夜欧美精品久久久久久久| 精品人妻伦九区久久AAA片69| 一本一本久久a久久精品综合麻豆| 久久www免费人成看国产片| 久久99精品免费一区二区| Xx性欧美肥妇精品久久久久久| 国产精品免费久久久久久久久|