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


    • 题目:
      给定整数的排序数组,找到给定目标值的起始和结束位置。
      
      您的算法的运行时复杂性必须是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;
          }
      };
  • 相关阅读:
    最简单的jQuery插件
    SQL执行时间
    Resharper 8.2 注册码
    Module模式
    RestSharp使用
    使用MVC过滤器保存操作日志
    Ajax Post 类实例
    IBatis分页显示
    IBatis插入类的实例
    Topcoder SRM629 DIV2 解题报告
  • 原文地址:https://www.cnblogs.com/Kobe10/p/6363324.html
Copyright © 2020-2023  润新知