Middle-题目65:34. Search for a Range

原创 2016年05月31日 16:35:16

题目原文:
Given a sorted array of integers, find the starting and ending position of a given target value.
题目大意:
给出排序好的数组,寻找目标值所在的下标区间。如果目标值不存在,返回[-1,-1].
题目分析:
朴素解法是逐一比较,找到开始节点后再向后找,优化解法是使用两次二分查找。而二分查找可以使用C++的lower_bound和upper_bound两个内置的接口实现。(这个学习了。)
源码:(language:cpp)

class Solution {
public:
    vector<int> searchRange(vector<int>& nums, int target) {
        auto p1 = lower_bound(nums.begin(), nums.end(), target);

        auto p2 = upper_bound(nums.begin(), nums.end(), target);

        vector<int> res; res.clear();
        if(*p1 != target) {
            res.push_back(-1);
            res.push_back(-1);
            return res;
        }

        res.push_back(p1 - nums.begin());
        res.push_back(p2 - nums.begin() - 1);

        return res;
    }
};

成绩:
12ms,beats 7.83%,众数12ms, 90.36%

版权声明:完整版Leetcode题解请出门左转https://github.com/cmershen1/leetcode/tree/master/docs

LeetCode 34 — Search for a Range(C++ Java Python)

题目: 题目翻译: 分析: C++实现: Java实现: Python实现: 感谢阅读,欢迎评论!...
  • dragon_dream
  • dragon_dream
  • 2014年04月03日 20:53
  • 3386

LeetCode 34 Search for a Range (C,C++,Java,Python)

Problem: Given a sorted array of integers, find the starting and ending position of a given tar...
  • runningtortoises
  • runningtortoises
  • 2015年05月14日 21:28
  • 1176

leetcode 34 -- Search for a Range

Search for a Range 题目: Given a sorted array of integers, find the starting and ending position...
  • wwh578867817
  • wwh578867817
  • 2015年06月23日 00:36
  • 1200

[LeetCode34]Search for a Range

Given a sorted array of integers, find the starting and ending position of a given target value. Yo...
  • sbitswc
  • sbitswc
  • 2014年06月16日 01:31
  • 5701

(Java)LeetCode-34. Search for a Range

Given a sorted array of integers, find the starting and ending position of a given target value. ...
  • u012848330
  • u012848330
  • 2016年08月05日 22:01
  • 111

Search for a Range -- LeetCode

原题链接: http://oj.leetcode.com/problems/search-for-a-range/  这道题是二分查找Search Insert Position的变体,思路并不复杂...
  • linhuanmars
  • linhuanmars
  • 2014年03月06日 03:48
  • 16964

LeetCode解题报告--Search for a Range

题目: Given a sorted array of integers, find the starting and ending position of a given target valu...
  • github_27609763
  • github_27609763
  • 2015年12月04日 13:32
  • 1574

LeetCode34: Search for a Range

Given a sorted array of integers, find the starting and ending position of a given target value. You...
  • geekmanong
  • geekmanong
  • 2016年01月13日 15:57
  • 1090

34. Search for a Range**

Given an array of integers sorted in ascending order, find the starting and ending position of a giv...
  • alwaystry
  • alwaystry
  • 2017年01月10日 20:27
  • 74

34. Search for a Range

Given a sorted array of integers, find the starting and ending position of a given target value. Yo...
  • sjt091110317
  • sjt091110317
  • 2015年06月08日 15:03
  • 391
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Middle-题目65:34. Search for a Range
举报原因:
原因补充:

(最多只允许输入30个字)