最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python二分法查找實(shí)例代碼

 更新時(shí)間:2021年11月21日 16:11:52   作者:欒沫  
二分算法是一種效率比較高的查找算法,其輸入的是一個(gè)有序的元素列表,如果查找元素包含在列表中,二分查找返回其位置,否則返回NONE,下面這篇文章主要給大家介紹了關(guān)于python二分法查找的相關(guān)資料,需要的朋友可以參考下

對(duì)于要搜索的元素越多,二分查找速度比簡(jiǎn)單查找快的更多 這是二分查找算法的優(yōu)點(diǎn),但二分算法也有缺點(diǎn),二分算法只針對(duì)有序的列表,這樣插入和刪除就會(huì)很困難,因此,折半查找方法只適合不經(jīng)常變動(dòng)的有序列表

?二分查找有個(gè)很重要的特點(diǎn),就是不會(huì)查找數(shù)列的全部元素,而查找的數(shù)據(jù)量其實(shí)正好符合元素的對(duì)數(shù),正常情況下每次查找的元素都在一半一半地減少。所以二分查找的時(shí)間復(fù)雜度為 O(log2n) 是毫無(wú)疑問(wèn)的。當(dāng)然,最好的情況是只查找一次就能找到,但是在最壞和一般情況下的確要比順序查找好了很多。

題目一:給定一個(gè) n 個(gè)元素有序的(升序)整型數(shù)組 nums 和一個(gè)目標(biāo)值 target? ,寫(xiě)一個(gè)函數(shù)搜索 nums 中的 target,如果目標(biāo)值存在返回下標(biāo),否則返回 -1。
class Solution:
    def search(self,nums:List[int],target:int)->int:
        left=0
        right=len(nums)-1
        while(left<=right):
            mid=(left+right)//2
            if nums[mid]==target:
               return mid
            if nums[mid]<target:
                left=mid+1
            else:
                right=mid-1
        return -1
題目二:在一個(gè)嚴(yán)格遞減的數(shù)組中,找到第二個(gè)比目標(biāo)值target大的數(shù)的下標(biāo)。若不存在,則返回-1。?
class Solution:
    def search(self,nums:List[int],target:int)->int:
        left=0
        right=len(nums)-1
        while(left<=right):
            mid=(left+right)//2
            if nums[mid]==target:
               return mid
            if nums[mid]>target:
                left=mid+1
            else:
                right=mid-1
        return -1
題目三:函數(shù)應(yīng)該以長(zhǎng)度為 2 的整數(shù)數(shù)組的形式返回這兩個(gè)數(shù)的下標(biāo)值。numbers 的下標(biāo) 從 1 開(kāi)始計(jì)數(shù) ,所以答案數(shù)組應(yīng)當(dāng)滿足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假設(shè)每個(gè)輸入 只對(duì)應(yīng)唯一的答案 ,而且你 不可以 重復(fù)使用相同的元素。
class Solution:
     def twoSum(self, numbers: List[int], target: int) -> List[int]:
        for i in range(len(numbers)-1):
            left=i
            right=len(numbers) - 1
            while(left<=right):
                mid=(left+right)//2
                if numbers[mid]+numbers[i]==target:
                    return [i+1,mid+1]
                elif numbers[mid]+numbers[i]<target:
                    left=mid+1
                else:
                    right = mid-1
            return [-1,-1]

總結(jié)

到此這篇關(guān)于python二分法查找的文章就介紹到這了,更多相關(guān)python二分法查找內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python類的基本寫(xiě)法與注釋風(fēng)格介紹

    Python類的基本寫(xiě)法與注釋風(fēng)格介紹

    這篇文章主要介紹了Python類的基本寫(xiě)法與注釋風(fēng)格,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Django 查詢數(shù)據(jù)庫(kù)返回JSON的實(shí)現(xiàn)

    Django 查詢數(shù)據(jù)庫(kù)返回JSON的實(shí)現(xiàn)

    和前端交互全部使用JSON,如何將數(shù)據(jù)庫(kù)查詢結(jié)果轉(zhuǎn)換成JSON格式,本文就來(lái)介紹一下,感興趣的小伙伴們可以參考一下
    2021-08-08
  • python difflib模塊示例講解

    python difflib模塊示例講解

    這篇文章主要為大家詳細(xì)介紹了python difflib模塊的示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 一文搞懂Python中的進(jìn)程,線程和協(xié)程

    一文搞懂Python中的進(jìn)程,線程和協(xié)程

    并發(fā)編程是實(shí)現(xiàn)多任務(wù)協(xié)同處理,改善系統(tǒng)性能的方式。Python中實(shí)現(xiàn)并發(fā)編程主要依靠進(jìn)程、線程和協(xié)程,本文將通過(guò)示例詳解三者的區(qū)別,感興趣的可以了解一下
    2022-05-05
  • Python使用protobuf序列化和反序列化的實(shí)現(xiàn)

    Python使用protobuf序列化和反序列化的實(shí)現(xiàn)

    protobuf是一種二進(jìn)制的序列化格式,相對(duì)于json來(lái)說(shuō)體積更小,傳輸更快,本文主要介紹了Python使用protobuf序列化和反序列化的實(shí)現(xiàn),感興趣的可以了解一下
    2021-05-05
  • python驗(yàn)證多組數(shù)據(jù)之間有無(wú)顯著差異

    python驗(yàn)證多組數(shù)據(jù)之間有無(wú)顯著差異

    這篇文章主要介紹了python驗(yàn)證多組數(shù)據(jù)之間有無(wú)顯著差異,利用方差分析和卡方分布驗(yàn)證多組數(shù)據(jù)之間的某些屬性有無(wú)顯著性差異,對(duì)于連續(xù)性屬性可以用方差分析,對(duì)于離散型屬性可以用卡方檢驗(yàn)。下面文章詳細(xì)內(nèi)容需要的小伙伴可以參考一下
    2022-01-01
  • Python基于Pytorch的特征圖提取實(shí)例

    Python基于Pytorch的特征圖提取實(shí)例

    在利用深度學(xué)習(xí)進(jìn)行分類時(shí),有時(shí)需要對(duì)中間的特征圖進(jìn)行提取操作,下面這篇文章主要給大家介紹了關(guān)于Python基于Pytorch的特征圖提取的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Python正則表達(dá)式匹配HTML頁(yè)面編碼

    Python正則表達(dá)式匹配HTML頁(yè)面編碼

    這篇文章主要介紹了Python正則表達(dá)式匹配HTML頁(yè)面編碼,本文直接給出代碼和匹配實(shí)例,需要的朋友可以參考下
    2015-04-04
  • python實(shí)現(xiàn)excel和csv中的vlookup函數(shù)示例代碼

    python實(shí)現(xiàn)excel和csv中的vlookup函數(shù)示例代碼

    這篇文章主要介紹了python實(shí)現(xiàn)excel和csv中的vlookup函數(shù),介紹如何使用python在excel和csv里實(shí)現(xiàn)vlookup函數(shù)的功能,首先需要簡(jiǎn)單了解一下python如何操作excel,需要的朋友可以參考下
    2023-01-01
  • python del()函數(shù)用法

    python del()函數(shù)用法

    del用于list列表操作,刪除一個(gè)或者連續(xù)幾個(gè)元素
    2013-03-03

最新評(píng)論

民权县| 新巴尔虎左旗| 东莞市| 镇原县| 定襄县| 行唐县| 襄汾县| 和平区| 阿图什市| 石景山区| 特克斯县| 兴宁市| 中方县| 建湖县| 磴口县| 萨迦县| 三原县| 汉阴县| 炎陵县| 容城县| 淅川县| 静乐县| 大渡口区| 禹州市| 台中市| 谷城县| 南涧| 衡阳县| 屏东县| 红安县| 温宿县| 肥西县| 廉江市| 蓝田县| 醴陵市| 个旧市| 长治县| 滕州市| 富顺县| 贵南县| 龙川县|