Solution#2
public class Solution {
public int searchInsert(int[] nums, int target) {
if (nums == null && nums.length == 0) return 0;
return searchInsert(nums, target, 0, nums.length - 1);
}
public int searchInsert(int[] nums, int target, int start, int end) {
if (target > nums[end]) {
return end + 1;
}
if (target < nums[start]) {
return start;
}
int mid = (start + end) / 2;
if (target < nums[mid]) {
return searchInsert(nums, target, start, mid - 1);
} else if (target > nums[mid]) {
return searchInsert(nums, target, mid + 1, end);
} else {
return mid;
}
}
}
Solution#1
public class Solution {
public int searchInsert(int[] nums, int target) {
int i = 0;
while (i < nums.length && nums[i] < target) {
i++;
}
return i;
}
}
Problem#1
1. 速度不够快,应用二分查找的思想