Leetcode 35 Search Insert Position 二分查找(二分下标)

基础题之一,是混迹于各种难题的基础,有时会在小公司的大题见到,但更多的是见于选择题。。。

题意:在一个有序数列中,要插入数target,找出插入的位置。

楼主在这里更新了《二分查找综述》第一题的解法,比较类似,当然是今天临时写的。

知道了这题就完成了leetcode 4的第二重二分的写法了吧,楼主懒。。。

 1 class Solution {
 2 public:
 3     int searchInsert(vector<int>& nums, int target) {
 4         int l = 0, r = nums.size() - 1;
 5         while(l <= r){
 6             int mid = l + (r - l)/2;
 7             if(nums[mid] < target){
 8                 l = mid + 1;
 9             }
10             else r = mid - 1;
11         }
12         return l;
13     }
14 };

这里给出楼主当时A题的解法,请不要鄙视楼主。。。

1 class Solution {
2 public:
3     int searchInsert(vector<int>& nums, int target){
4         vector<int>::iterator it = lower_bound(nums.begin(), nums.end(), target);
5         return it - nums.begin();
6     }
7 };

是的,又是库函数^_^

原文地址:https://www.cnblogs.com/onlyac/p/5584803.html