标签:else write bin port arch ant sort asc array
public class Solution { /** * @param nums: An integer array sorted in ascending order * @param target: An integer * @return an integer */ public int findPosition(int[] nums, int target) { // Write your code here 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) { return mid; } else if (nums[mid] < target) { start = mid; } else { end = mid; } } if (nums[start] == target) { return start; } if (nums[end] == target) { return end; } return -1; } }
Important point:
1) While (start + 1 < end)
2) int mid = start + (end - start)/2;
3) check both nums[start] and nums[end] at the end
标签:else write bin port arch ant sort asc array
原文地址:http://www.cnblogs.com/codingEskimo/p/6794445.html