【题目描述】
For a given sorted array (ascending order) and a target number, find the first index of this number in O(log n) time complexity.
If the target number does not exist in the array, return -1.
给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。
【题目链接】
http://www.lintcode.com/en/problem/first-position-of-target/
【题目解析】
这题目要求O(logn)的复杂度,又是sorted array,话不多说我们来搞二分法。注意要求first position of target所以当(array[mid] == target)的时候,操作是end = mid。
二分查找到第一个target后使用逐个向前查询第一个target
全程使用二分查找
【答案链接】
网友评论