zoukankan      html  css  js  c++  java
  • leetcode34

    /*简单二分题目 在每次二分决策的时候对应控制选择左区间或者右区间即可*/
    class Solution {
    public:
        vector<int> searchRange(vector<int>& nums, int target) {
                int len = nums.size();
                int left , right , mid;
                int first , last;
                vector<int> ans;
                if(len == 0){
                     ans.push_back(-1);  
                     ans.push_back(-1); 
                     return ans;  
                }
                /*first位置*/
                left = 0;
                right = len - 1;
                while(left < right){
                     mid = (left + right)/2;
                     if(nums[mid] >= target)      right = mid;
                     else if(nums[mid] <  target) left = mid + 1;           
                }
                if(nums[left] != target) first = -1;
                else                     first = left;
                ans.push_back(first);
                
                /*计算last位置*/
                left = 0;
                right = len - 1;
                while(left  < right){
                     mid = (left + right)/2 + 1;
                     if(nums[mid] > target)        right = mid - 1;
                     else if(nums[mid] <=  target) left = mid;           
                }
    
                if(first == -1)  last = -1;
                else             last = left;
                ans.push_back(last);
                return ans;
        }
    };
  • 相关阅读:
    bash编程2
    bash简介1
    grep文本处理工具
    用户的环境变量
    用户,组,权限
    yum与rmp
    逻辑卷管理
    磁盘配额
    磁盘创建
    创建计划任务
  • 原文地址:https://www.cnblogs.com/rhythmic/p/13767347.html
Copyright © 2011-2022 走看看