通过万岁!!!
- 题目:就是在一个升序的数组中,找到目标元素应该所在的位置。有可能与里面的内容相等,也有可能不等。
- 思路:这个题目双指针就可以了,但是这是一个比较经典的题目,我们可以转变成找到第一个比target大的数的下标等。
- 技巧:就是用双指针。
java代码
class Solution {
public int searchInsert(int[] nums, int target) {
int l = 0, r = nums.length - 1, mid;
while (l <= r) {
mid = l + (r - l) / 2;
if (nums[mid] == target) {
return mid;
} else if (nums[mid] > target) {
r = mid - 1;
} else {
l = mid + 1;
}
}
return l;
}
}
- 总结:这是一个非常经典的题目。我已经遇到了很多次这种的了,例如,前几天的436.寻找右区间就是这个题目的变体。