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

考察知识点

  • 二分查找
  • 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;
    }
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 11:30
仁者伍敌:kpi都懒得刷了属于是
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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