标签:
Q: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
.
A: binary search
public int binarySearch(int[] nums, int target){ if (nums == null || nums.length == 0) return -1; int start = 0; int end = nums.length - 1; while (start + 1 < end){ int mid = start + (end - start) / 2; if (nums[mid] >= target) end = mid; else start = mid; } if (nums[start] == target) return start; else if (nums[end] == target) return end; else return -1; }
Lintcode 14 First Position of Target
标签:
原文地址:http://www.cnblogs.com/nobody2somebody/p/5146293.html