public class Solution { public int Search(int[] nums, int target) { var len = nums.Length; var low = 0; var high = len - 1; if (target == nums[low]) { return low; } else if (target == nums[high]) { return high; } while (low < high) { var mid = (low + high) / 2; var cur = nums[mid]; if (target == cur) { return mid; } else if (target < cur) { high = mid - 1; } else { low = mid + 1; } } return -1; } }
1 class Solution { 2 public int search(int[] nums, int target) { 3 int n = nums.length; 4 int low = 0; 5 int high = n - 1; 6 while(low <= high){ 7 int mid = (low + high) / 2; 8 int cur = nums[mid]; 9 if(cur == target){ 10 return mid; 11 }else if(cur < target){ 12 low = mid + 1; 13 }else{ 14 high = mid - 1; 15 } 16 } 17 return -1; 18 } 19 }