• 题目:
    给定整数的排序数组,找到给定目标值的起始和结束位置。
    
    您的算法的运行时复杂性必须是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;
        }
    };

     

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-14
  • 2021-10-31
  • 2022-12-23
  • 2021-11-18
  • 2021-12-08
  • 2021-07-31
猜你喜欢
  • 2021-08-05
  • 2022-12-23
  • 2021-07-03
  • 2021-11-22
  • 2022-12-23
  • 2021-07-24
相关资源
相似解决方案