LintCode 14(二分查詢)

2021-09-10 19:14:55 字數 622 閱讀 5399

lintcode系列,第14題,題目**:

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

樣例:

樣例  1:

輸入:[1,4,4,5,7,7,8,9,9,10],1

輸出: 0

樣例解釋:

第一次出現在第0個位置。

樣例 2:

輸入: [1, 2, 3, 3, 4, 5, 10],3

輸出: 2

樣例解釋:

第一次出現在第2個位置

樣例 3:

輸入: [1, 2, 3, 3, 4, 5, 10],6

輸出: -1

樣例解釋:

沒有出現過6, 返回-1

二分法思想。

class solution 

else

if(target>nums[

(head+end)/2

])else}if

(nums[head]

==target)

else}}

;

LintCode 14 二分查詢

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

LintCode 14 二分查詢

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

lintcode 14 二分查詢

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