NC105 二分查詢

2022-07-10 10:24:19 字數 759 閱讀 3321

請實現有重複數字的有序陣列的二分查詢。

輸出在陣列中第乙個大於等於查詢值的位置,如果陣列中不存在這樣的數,則輸出陣列長度加一。

示例1

5,4,[1,2,4,4,5]

3

輸出位置從1開始計算 

#

#二分查詢

#@param n int整型 陣列長度

#@param v int整型 查詢值

#@param a int整型一維陣列 有序陣列

#@return int整型

#class

solution:

defupper_bound_(self , n , v , a ):

#write code here

if n ==0:

return n+1

else

:

if a[-1] <=v:

return n+1min_ =0

max_ =n

while

true:

if a[min_] >=v:

return min_ + 1target = int((max_ + min_) /2)

if target > 0 and a[target -1] >=v:

max_ =target

else

: min_ =target

NC105 二分查詢

請實現有重複數字的有序陣列的二分查詢。輸出在陣列中第乙個大於等於查詢值的位置,如果陣列中不存在這樣的數,則輸出陣列長度加一。示例1複製 5,4,1,2,4,4,5 複製 3題解 注意結束條件是left right,應為mid計算是下取整,如果用 left right 的話有可能無法訪問到right ...

迭代二分查詢二分查詢

在寫這篇文章之前,已經寫過了幾篇關於改迭代二分查詢主題的文章,想要了解的朋友可以去翻一下之前的文章 bentley在他的著作 writing correct programs 中寫道,90 的計算機專家不能在2小時內寫出完整確正的二分搜尋演算法。難怪有人說,二分查詢道理單簡,甚至小學生都能明確。不過...

1128 二分 二分查詢

時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述nettle最近在玩 艦 因此nettle收集了很多很多的船 這裡我們假設nettle氪了很多金,開了無數個船位 去除掉重複的船之後,還剩下n 1 n 1,000,000 種不同的船。每一艘船有乙個稀有值,任意兩艘船的稀有...