704.二分查找

54 阅读1分钟

题目:
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1
算法:

func search(nums []int, target int) int {
	left, right := 0, len(nums)
	index := -1
	for left < right {
		mid := left + (right - left) / 2
		if nums[mid] == target {
			index = mid
			break
		} else if nums[mid] < target {
			left = mid + 1
		} else if target < nums[mid] {
			right = right - 1
		}
	}
	return index
}