704 二分查詢

2021-09-26 08:31:24 字數 1065 閱讀 2472

【簡單】704.二分查詢

給定乙個 n 個元素有序的(公升序)整型陣列 nums 和乙個目標值 target ,寫乙個函式搜尋 nums 中的 target,如果目標值存在返回下標,否則返回 -1。

示例 1:

輸入: nums = [-1,0,3,5,9,12], target = 9

輸出: 4

解釋: 9 出現在 nums 中並且下標為 4

示例 2:

輸入: nums = [-1,0,3,5,9,12], target = 2

輸出: -1

解釋: 2 不存在 nums 中因此返回 -1

你可以假設 nums 中的所有元素是不重複的。

n 將在 [1, 10000]之間。

nums 的每個元素都將在 [-9999, 9999]之間。

【分析】排序陣列 → 二分法。

mid在左邊界(**中注釋部分),mid在右邊界(**中注釋部分):

class solution(object):

def search(self, nums, target):

""":type nums: list[int]

:type target: int

:rtype: int

"""left,right=0,len(nums)-1

while left>1

# if nums[mid]<=target:

# left=mid #mid包含在左邊界中

# else:

# right=mid-1

if nums[mid]>=target:

right=mid #mid包含在右邊界中

else:

left=mid+1

return left if nums[left]==target else -1

704 二分查詢

給定乙個 n 個元素有序的 公升序 整型陣列 nums 和乙個目標值 target 寫乙個函式搜尋 nums 中的 target,如果目標值存在返回下標,否則返回 1。示例 1 輸入 nums 1,0,3,5,9,12 target 9 輸出 4 解釋 9 出現在 nums 中並且下標為 4 示例 ...

二分查詢704

給定乙個 n 個元素有序的 公升序 整型陣列 nums 和乙個目標值 target 寫乙個函式搜尋 nums 中的 target,如果目標值存在返回下標,否則返回 1。示例 1 輸入 nums 1,0,3,5,9,12 target 9 輸出 4 解釋 9 出現在 nums 中並且下標為 4 示例 ...

704 二分查詢

704.二分查詢 給定乙個 n 個元素有序的 公升序 整型陣列 nums 和乙個目標值 target 寫乙個函式搜尋 nums 中的 target,如果目標值存在返回下標,否則返回 1。示例 1 輸入 nums 1,0,3,5,9,12 target 9 輸出 4 解釋 9 出現在 nums 中並且...