python程式設計300例之 005二分查詢

2022-09-19 05:36:07 字數 854 閱讀 5908

1

#binarysearch2#

給定乙個排序的整數陣列(公升序),和乙個要查詢的目標整數target3#

查詢到target第一次出現的的下標(從0開始)如果陣列中沒有就返回-1

4"""

5輸入陣列[1,4,4,5,7,7,8,9,9,10]和目標整數1,輸出其所在的位置為0,即第一次出現第0個位置.輸入陣列[1,2,3,3,4,5,10]和

6目標整數3,輸出2,即第一次出現在第二個位置

7"""89

10class

solution:

11def

binarysearch(self, nums, target):

12 left =0

13 right = len(nums) - 1

14while 1:

15 middle = (left + right) // 2

16if left <=right:

17if nums[middle] >target:

18 right = middle - 1

19elif nums[middle] 20 left = middle + 1

21else:22

return

middle

23else:24

return -1

2526

27 c1 =solution()

28print(c1.binarysearch([1, 4, 4, 5, 7, 7, 8, 9, 9, 10], 6))

python程式設計300例之 008勒索信

1 問題描述 給定乙個表示勒索信內容的字串和另乙個表示雜誌內容的字串,寫乙個方法判斷能否通過剪下雜誌中的內容構造出這封勒索信2 若可以 返回true 否則返回false,注 雜誌字串中的每乙個字元僅能在勒索信中使用一次 3class solution 4def func self,nums2,num...

python程式設計300例之 007字串中的單詞數

1 問題描述 計算字串中的單詞數,其中乙個單詞定義為不含空格的連續字串2 問題示例 輸入 hello,my name is john 輸出 5 3class solution 4def count word self,string 5 count 0 6for i in range len stri...

Python網路程式設計00 網路基礎

在正式開始學習python網路程式設計之前,先來補充一點網路基礎知識。internet是在一些共享線路上傳送資料的。為了實現共享,tcp通過把你要傳送的資料流分解成很多小資訊包在internet傳輸,而這些資訊報到了接受者的地方會再次重新合成在一起。通過分成很小的資料報,internet鏈結就會用很...