位置(easy)"/>
[二分法]leetcode35:搜索插入位置(easy)
题目:
题解:
- 题解1:直接遍历数组寻找第一个大于等于target的数组元素下标
- 题解2:二分法模板一。找到第一个大于等于target的值,right指向的值肯定大于target,最后结束的条件是left=right+1,也就是left指向的元素是第一个大于等于target的值。
题解:
class Solution {
public://解法1:暴力法int searchInsert_1(vector<int>& nums, int target) {int len=nums.size();if(len==0) return 0;for(int i=0;i<len;i++){if(nums[i]>=target) return i;}return len;}//解法2:二分法模板一//找到第一个大于等于target的值,right指向的值肯定大于target,最后结束的条件是left=right+1,也就是第一个大于等于target的值int searchInsert(vector<int>& nums,int target){int left=0,right=nums.size()-1;while(left<=right){int mid=left+(right-left)/2;if(target==nums[mid])return mid;else if(target>nums[mid])left=mid+1;else right=mid-1;}return left;}
};
更多推荐
[二分法]leetcode35:搜索插入位置(easy)
发布评论