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;
        }
    };
  • 相关阅读:
    sql STUFF用法
    关于原型链
    原生js事件绑定
    http常见7种请求
    关于linux的一些常用的指令
    flex布局详解
    html5 新增元素以及css3新特性
    css浮动以及清除
    css 浮动
    计算机网络
  • 原文地址:https://www.cnblogs.com/rhythmic/p/13767347.html
Copyright © 2011-2022 走看看