二分查找1题


704. 二分查找

步骤

low <= high,折半查找
target == nums[mid],说明target在mid这里
target > nums[mid],说明target在mid右边
target < nums[mid],说明target在mid左边

GO代码

func search(nums []int, target int) int {
	low := 0
	high := len(nums) - 1
	for low <= high {
		mid := low + (high - low) / 2
		if nums[mid] == target {
			return mid
		} else if target > nums[mid] {
			low = mid + 1
		} else {
			high = mid - 1
		}
	}
	return -1
}