题解 | #牛群的位置排序#

考察知识点

  • 二分查找
  • STL使用(lower_bound()函数)

题目解析

题意

在一个递增排序的数组labels中以时间复杂度为O(log n)的算法查找给定的目标值target的位置,如果不存在,返回它按顺序插入的位置。

解析

根据递增排序的数组、时间复杂度O(log n)可知二分查找算法完全符合这一性质。 此题采用C++ STL标准库给出了lower_bound() 函数用于在指定区域内查找不小于目标值的第一个元素。

AC code(C++)

class Solution {
public:
    int searchInsert(vector<int>& labels, int target) {
        int index = 0;
        index = lower_bound(labels.begin(),labels.end(),target)-labels.begin();
        return index;
    }
};
全部评论

相关推荐

06-15 20:57
已编辑
门头沟学院 Java
CARLJOSEPH...:年轻人有傲气很正常,但是建议工作前洗净傲气。 说实在的,什么奖学金什么奖项的都很一般。尊重你的老师,在有时间的时候去上课,真遇到走不开的事,请态度端正地向你的老师说明情况,请求请假。我相信任何一个有师德的老师都会允许的(我的老师就是这样)。
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务