二分查找模板

二分查找

http://www.nowcoder.com/questionTerminal/7bc4a1c7c371425d9faa9d1b511fe193

/*
最左边n结束,>> 位移运算,low = mid + 1,high = mid;
*/
 int upper_bound_(int n, int v, vector<int>& a) {
        int low = 0,high = n;
        while(low<high){
            int mid =low+high >> 1;//位移运算优先级低于+-*/
            a[mid]<v?low=mid+1:high=mid; //最先找到满足大于等于v的最小下标值
        }
        return low+1;
    }
全部评论

相关推荐

点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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