LintCode 14 二分查詢

2021-07-27 02:18:52 字數 549 閱讀 2493

給定乙個排序的整數陣列(公升序)和乙個要查詢的整數target,用o(logn)的時間查詢到target第一次出現的下標(從0開始),如果target不存在於陣列中,返回-1。
在陣列 [1, 2, 3, 3, 4, 5, 10] 中二分查詢3,返回2。
如果陣列中的整數個數超過了

2^32

,你的演算法是否會出錯?

在有序的陣列中 ,直接從中間開始找,如果比中間值小,則將high = mid - 1,如果比中間值打,則將low = mid + 1,如果相等,還需要檢測其mid前乙個是否也為目標值,需要返回第乙個相同值的位置。
int binarysearch(vector

&array, int target) else

if (array[mid] < target) else

return mid + 1;}}

return -1;

}

LintCode 14 二分查詢

給定乙個排序的整數陣列 公升序 和乙個要查詢的整數target,用o logn 的時間查詢到target第一次出現的下標 從0開始 如果target不存在於陣列中,返回 1。樣例 在陣列 1,2,3,3,4,5,10 中二分查詢3,返回2。挑戰 如果陣列中的整數個數超過了2 32,你的演算法是否會出...

LintCode 14(二分查詢)

lintcode系列,第14題,題目 給定乙個排序的整數陣列 公升序 和乙個要查詢的整數target,用o logn 的時間查詢到target第一次出現的下標 從0開始 如果target不存在於陣列中,返回 1。樣例 樣例 1 輸入 1,4,4,5,7,7,8,9,9,10 1 輸出 0 樣例解釋 ...

lintcode 14 二分查詢

給定乙個排序的整數陣列 公升序 和乙個要查詢的整數target,用o logn 的時間查詢到target第一次出現的下標 從0開始 如果target不存在於陣列中,返回 1。樣例在陣列 1,2,3,3,4,5,10 中二分查詢3,返回2。挑戰如果陣列中的整數個數超過了2 32,你的演算法是否會出錯?...