题解
二分查找-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; }