日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python如何實現的二分查找算法

瀏覽:131日期:2022-07-24 13:17:15

先來看個用Python實現的二分查找算法實例

import sys def search2(a,m): low = 0 high = len(a) - 1 while(low <= high): mid = (low + high)/2 midval = a[mid] if midval < m: low = mid + 1 elif midval > m: high = mid - 1 else: print mid return mid print -1 return -1if __name__ == '__main__': a = [int(i) for i in list(sys.argv[1])] m = int(sys.argv[2]) search2(a,m)om/weixin.html#_labeldown

運行:

administrator@ubuntu:~/Python$ python test_search2.py 123456789 4

注:

1.’__’:由于python的類成員都是公有、公開的被存取public,缺少像正統面向對象語言的私有private屬性。

于是就用__來將就一下,模擬私有屬性。這些__屬性往往是內部使用,通常情況下不用改寫。也不用讀取。

加上2個下劃線的目的,一是不和普通公有屬性重名沖突,二是不讓對象的使用者(非開發者)隨意使用。

2.__name__ == '__main__'表示程序腳本是直接被執行的.

如果不等于表示腳本是被其他程序用import引入的.則其__name__屬性被設為模塊名

Python采用二分查找找出數字的下標

要考慮有重復數字的情況

class Solution(object): def searchRange(self, nums, target): ''' :type nums: List[int] :type target: int :rtype: List[int] def binary_search(start,end,value): while end>=start: mid = (start+end)//2 print(mid) if nums[mid]>target: end = mid-1 elif nums[mid]<target: start='mid+1' else:='' if='' value='=-1:' mid-1=''>=start and nums[mid+value] == target: end = mid+value else: return mid else: if mid+1<=end and nums[mid+value] == target: start = mid+value return -1 a=binary_search(0,len(nums)-1,-1) b=binary_search(0,len(nums)-1,1) return [a,b]a = Solution()l = [2,2]print(a.searchRange(l,2)) </target:>

二分算法的定義不在多說了

import sys source = [1,2,3,4,5,6,7,8,9,10] #must be in order des = int(sys.argv[1]) low = 0high = len(source) - 1targetIndex = -1print 'des=',des while low <= high: middle = (low + high)/2 if des == source[middle]: targetIndex = middle break elif des < source[middle]: high = middle -1 print 'middle element[index=',middle,',value=',source[middle],'] is bigger than des, continue search from[',low,'to',high,']' else: low = middle + 1 print 'middle element[index=',middle,',value=',source[middle],'] is smaller than des, continue search from[',low,'to',high,']'print 'search complete, target element’s index in source list is ',targetIndex

最后在分享一個

’fileName--BinarySearch.py’

src = [] def BinarySearch(low, high, target, *src): ’二分查找’ while low <= high: mid = (low + high) // 2 midVal = src[mid] if target < midVal: high = mid - 1 elif target > midVal: low = mid + 1 else: return mid BinarySearch(low, high, target, *src) print(’Please input 10 number:’) for number in range(10): src.append(int(input(’Num %d:’ % number))) sortList = tuple(src) key = int(input(’Please input key:’)) location = BinarySearch(0, len(src) - 1, key, *sortList) if location != None: print(’Find target at %d’ % (location + 1)) else: print(’No target!’)

實例補充

#!/usr/bin/python env# -*- coding:utf-8 -*-def half_search(array,target): low = 0 high = len(array) - 1 while low < high: mid = (low + high)/2 if array[mid] > target: high = mid - 1 elif array[mid] < target: low = mid + 1 elif array[mid] == target: print ’I find it! It is in the position of:’,mid return mid else: print 'please contact the coder!' return -1if __name__ == '__main__': array = [1, 2, 2, 4, 4, 5]

運行結果如下:

I find it! It is in the position of: 44-1I find it! It is in the position of: 00-1

以上就是Python如何實現的二分查找算法的詳細內容,更多關于用Python實現的二分查找算法的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产一区二区视频在线看| 奇米狠狠一区二区三区| 伊人国产精品| 好吊日精品视频| 亚洲国产一区二区三区在线播放| 国产成人精品亚洲线观看| 久久久91麻豆精品国产一区| 国产精品一区二区99| 国产精品久久亚洲不卡| 牛牛精品成人免费视频| 精品视频高潮| 久久久久久久久丰满| 高清av不卡| 中文一区在线| 免费人成在线不卡| 亚洲久久在线| 精品午夜视频| 欧美日韩国产探花| 日本va欧美va瓶| 精品一区二区三区四区五区| 久久青草久久| 视频一区欧美精品| 国产精品男女| 国产精品99一区二区| 亚洲有吗中文字幕| 国产精品天堂蜜av在线播放| 成人精品动漫一区二区三区| 婷婷精品视频| 欧美日韩一区二区三区在线电影| 色综合五月天| 日韩午夜一区| 麻豆精品蜜桃视频网站| 亚洲激情久久| 成人高清一区| 91精品日本| 欧美午夜精彩| 国产精品久久久一区二区| 激情久久久久久| 欧美日本一区| 亚洲免费影院| 日韩精品午夜| 乱一区二区av| 亚洲一区二区三区高清| 精品美女视频 | 精品日本视频| 天堂久久av| 午夜久久99| 黄色在线网站噜噜噜| 日本视频一区二区| 国产亚洲福利| 色婷婷久久久| 国产在线观看91一区二区三区| 视频一区二区三区在线| 久久激情一区| 卡一卡二国产精品| 亚洲精品美女91| 在线精品视频在线观看高清| 国产精品久久久久久久久久10秀| 久久国产麻豆精品| 亚洲天堂免费| 一区二区国产在线| 免费久久99精品国产自在现线| 日韩久久视频| 精品亚洲美女网站| 国产在视频一区二区三区吞精| 国产伦理一区| 欧美国产免费| 国产精品久久久久久久久久久久久久久 | 国产人成精品一区二区三| 蜜桃视频在线观看一区二区| 91久久黄色| 伊人久久大香伊蕉在人线观看热v| 久久中文视频| 国产视频一区三区| 日本精品国产| 久久wwww| 热三久草你在线| 国产精品91一区二区三区| 亚洲不卡av不卡一区二区| 日韩三区免费| 国产一区成人| 亚洲综合福利| 久久超碰99| 日本精品在线中文字幕| 日韩中文欧美在线| 国产欧美亚洲一区| 深夜福利视频一区二区| 国产中文在线播放| 亚洲一区欧美| 91日韩免费| 首页国产欧美日韩丝袜| 国产激情欧美| 不卡中文字幕| 国产精品午夜av| 在线日韩视频| 国产精品1区| 亚洲精品99| 久久久久亚洲精品中文字幕| 中文精品视频| 国产一区二区三区日韩精品| 午夜精品影院| 精品国产一区二| 香蕉久久久久久久av网站| 高潮久久久久久久久久久久久久| 国产精品毛片| 日本一区二区免费高清| 日本中文字幕不卡| 亚洲精品91| 日韩国产一区二区三区| 亚洲精品精选| 影音国产精品| 成人羞羞视频播放网站| 国产视频一区二区在线播放| 欧美午夜不卡| 今天的高清视频免费播放成人| 国产精品亚洲成在人线| 亚洲深深色噜噜狠狠爱网站 | 久久精品二区亚洲w码| 一区二区电影在线观看| 午夜日韩av| 亚洲激情黄色| 婷婷综合社区| 久久精品亚洲欧美日韩精品中文字幕| 久久一区精品| 91一区二区| 国产一区二区三区四区| 亚洲综合欧美| 日韩在线观看| 国产欧美日韩一区二区三区在线| 亚洲国产成人精品女人| 日韩av中文字幕一区二区 | 欧美日韩亚洲一区二区三区在线| 亚洲二区三区不卡| 日韩天堂av| 亚洲一卡久久| 亚洲91在线| 国产丝袜一区| 福利欧美精品在线| 在线看片国产福利你懂的| 成人片免费看| 麻豆视频在线观看免费网站黄 | 精精国产xxxx视频在线播放| av资源中文在线天堂| 亚洲va在线| 亚洲色图国产| 国产精品亚洲产品| 国产精品99视频| 精品欧美激情在线观看| 蜜桃传媒麻豆第一区在线观看| 视频一区在线播放| 日韩1区2区3区| 精品国产中文字幕第一页| 91精品婷婷色在线观看| 亚洲一区二区三区久久久| 欧美国产先锋| 好看的亚洲午夜视频在线| 最新国产精品视频| 精品99在线| 一级成人国产| 日韩精品一卡| 国产精品一页| 香蕉人人精品| 欧美激情麻豆| 亚洲欧美日韩精品一区二区| 国产精品对白久久久久粗| 亚洲三级欧美| 欧美日韩99| 国产亚洲精品自拍| 国产成人精品一区二区免费看京| 免费视频一区二区| av日韩中文| 久久福利在线| 69堂精品视频在线播放| 99热精品久久| 久久精品免视看国产成人| 亚洲尤物av| 欧美日韩精品一区二区视频| 精品视频在线你懂得| 日韩高清一区在线| 99xxxx成人网| 日韩成人亚洲| 精品国产欧美日韩| 欧美日本久久| 日韩视频一二区| 免费视频最近日韩| 欧美特黄a级高清免费大片a级| 综合日韩av| 欧美韩日一区| 色婷婷色综合| 成人日韩av| 国产一区丝袜| 国产精品成久久久久| 久久精品国产久精国产爱| 国产日产精品_国产精品毛片| 日韩专区视频网站| 蜜臀精品一区二区三区在线观看| 日本国产精品| 在线亚洲一区| 日韩一区精品| 久久国产精品免费一区二区三区|