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

牛群的位置排序

https://www.nowcoder.com/practice/87c81fa27b9a45c49ed56650dfa6f51b

知识点:

二分查找

分析:

1.如果找得到数字,二分法会在相等的选项返回

2.如果找不到数字,一定会是left和right所在数字小于目标数字,此时left=mid+1,跳出循环,那么left的值一定是所要插入到的位置。

编程语言:

C++

完整代码:

    int searchInsert(vector<int>& labels, int target) {
        int left = 0, right = labels.size() - 1;
        while(left <= right) {
            int mid = (left + right) / 2;
            if(labels[mid] == target) {
                return mid;
            } else if(labels[mid] < target) {
                left = mid + 1;
            } else {
                right = mid - 1;
            }
        }
        return left;
    }

全部评论

相关推荐

点赞 评论 收藏
分享
06-27 18:53
门头沟学院 Java
这样才知道自己不适合搞代码,考公去咯
只爱喝白开水:我也发现不适合搞代码,打算转非技术方向了
点赞 评论 收藏
分享
自由水:笑死了,敢这么面试不敢让别人说
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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