完成度
没完成
自己的代码
int loc;
if(nums.length() mod 2 == 0){
loc = num.length()/2;
}else{
loc = num.length()/2;
}
错误
考虑奇数偶数,没想清楚
题解
class Solution {
/**
* 思路,二分查找,如果找到值,就返回值的位置,如果循环结束也没有找到,
* 那就在最后根据要插入的 target 的值和 nums[mid] 的比较来判断值应该插入在哪里,不是在 mid 前面就是在 mid 后面
*/
public int searchInsert(int[] nums, int target) {
int i = 0;
int j = nums.length - 1;
int mid = 0;
while(i <= j){
mid = i + (j - i) / 2;
if(nums[mid] == target){
return mid;
}else if(nums[mid] > target){
j = mid - 1;
}else{
i = mid + 1;
}
}
if(target < nums[mid]) return mid;
else return mid + 1;
}
}
补充知识
二分法