题解

二分查找-I

http://www.nowcoder.com/questionTerminal/d3df40bd23594118b57554129cadf47b

这题可以使用lower_bound()来找到第一个大等于的元素,从而快速得到解,速度取决于输入数据。
1.边界测试
2.功能,获得id
3.因为搜索的是大等于,所以还进行一次等于测试

int search(vector<int>& nums, int target) {
    // write code here
    if(nums.empty()) return -1;
    int id = lower_bound(nums.begin(),nums.end(), target) - nums.begin();
    if(nums[id]!=target) return -1;
    return id;
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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