通过万岁!!!
- 题目:这个就是经典二分查找,在一个有序数组中,找到目标元素下标,找不到就返回-1即可。
- 思路:双指针,然后定义一个mid,如果当前mid小于target,则左指针指向mid+1位置,如果mid小于target,则右指针指向mid-1位置。如果相等,返回mid。
- 技巧:就是典型的双指针
java代码
class Solution {
public int search(int[] nums, int target) {
int l = 0, r = nums.length - 1, mid;
while (l <= r) {
mid = (l + r) / 2;
if (nums[mid] == target) {
return mid;
} else if (nums[mid] > target) {
r = mid - 1;
} else {
l = mid + 1;
}
}
return -1;
}
}
- 总结:题目比较简单,但是经典。