题解 | #二分查找-I#

二维数组中的查找

http://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e

好像写过?算了再写一遍

class Solution {
  public:
    int search(vector<int>& nums, int target) {
      if (nums.empty()) {
        return -1;
      }
      
      auto beg = nums.begin(), end = nums.end();
      auto mid = beg + (end - beg) / 2;
      
      while (beg <= end) {
        if (*mid == target) {
          return mid - nums.begin();
        } 
        
        if (*mid > target) {
          end = mid - 1;
        }
        
        if (*mid < target) {
          beg = mid + 1;
        }
        
        mid = beg + (end - beg) / 2;
      }
      
      return -1;
    }
};
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务