国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python二分法查找實例代碼

python二分法查找實例代碼

2022-03-04 17:42欒沫 Python

二分算法是一種效率比較高的查找算法,其輸入的是一個有序的元素列表,如果查找元素包含在列表中,二分查找返回其位置,否則返回NONE,下面這篇文章主要給大家介紹了關于python二分法查找的相關資料,需要的朋友可以參考下

對于要搜索的元素越多,二分查找速度比簡單查找快的更多 這是二分查找算法的優點,但二分算法也有缺點,二分算法只針對有序的列表,這樣插入和刪除就會很困難,因此,折半查找方法只適合不經常變動的有序列表

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

題目一:給定一個 n 個元素有序的(升序)整型數組 nums 和一個目標值 target  ,寫一個函數搜索 nums 中的 target,如果目標值存在返回下標,否則返回 -1。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
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
題目二:在一個嚴格遞減的數組中,找到第二個比目標值target大的數的下標。若不存在,則返回-1。 
?
1
2
3
4
5
6
7
8
9
10
11
12
13
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
題目三:函數應該以長度為 2 的整數數組的形式返回這兩個數的下標值。numbers 的下標 從 1 開始計數 ,所以答案數組應當滿足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假設每個輸入 只對應唯一的答案 ,而且你 不可以 重復使用相同的元素。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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]

總結

到此這篇關于python二分法查找的文章就介紹到這了,更多相關python二分法查找內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/weixin_51458838/article/details/121432897

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 午夜精品在线观看 | 极品国产粉嫩av免费观看 | av大全在线观看 | 久久精品国产精品青草 | 日韩二区三区 | 精品视频免费 | 日本精品在线 | 欧美一区二区三区视频在线 | 精品久久久久久久久久久久久久 | 国产亚洲精品美女久久久久久久久久 | 国产精品久久久久国产a级 成人a在线视频 | 日韩精品一区二区三区四区五区 | 精品三区 | 黄色成人av | 精品不卡| 免费观看在线毛片 | 亚洲国产一区二区三区日本久久久 | 欧美日韩第一页 | 互换娇妻呻吟hd中文字幕 | 日韩一级大片 | 秋霞电影院午夜伦 | 成人精品久久久 | 午夜成人在线视频 | 午夜影院在线 | 免费精品视频 | 日韩视频在线观看 | 国内外成人激情免费视频 | 先锋av资源 | 一本大道综合伊人精品热热 | 精品国产一区二区三区久久久蜜 | 成人综合区一区 | 黄在线免费观看 | 精品久久久久久久久久久下田 | 亚洲一区二区 | 国产精品九九九 | 久草成人 | 成人高清在线 | 免费在线a | 久久mm| 伊人婷婷 | 亚洲成av人片在线观看无 |