码迷,mamicode.com
首页 > 编程语言 > 详细

(查找)找到数组中的指定值得起始和结束位置

时间:2017-02-03 20:49:02      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:back   目标   int   返回   size   sea   nbsp   ack   front   

  • 题目:
    给定整数的排序数组,找到给定目标值的起始和结束位置。
    
    您的算法的运行时复杂性必须是O(log n)的顺序。
    
    如果在数组中找不到目标,则返回[-1,-1]。
    
    例如,
    给定[5,7,7,8,8,10]和目标值8,
    return [34]。

     

  • 思路:这个题目直接使用容器存储出现查找元素的位置。取出第一个和最后一个即可。
  • 代码
    class Solution {
    public:
        vector<int> searchRange(int A[], int n, int target) {
            vector<int> res;
            vector<int> v;
            int first = 0, last = 0;
            for (int i=0; i<n;i ++){
                if (target == A[i]){
                    res.push_back(i);
                }
            }
            if (res.size() == 0){
                first = -1;
                last = -1;
            }else if (res.size() == 1){
                first = res[0];
                last = res[0];
            }
            else{
                first = res.front();
                last = res[res.size()-1];
            }
            v.push_back(first);
            v.push_back(last);
            return v;
        }
    };

     

(查找)找到数组中的指定值得起始和结束位置

标签:back   目标   int   返回   size   sea   nbsp   ack   front   

原文地址:http://www.cnblogs.com/Kobe10/p/6363324.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!