日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > [LeetCode] Search for a Range

[LeetCode] Search for a Range

來源:程序員人生   發布時間:2015-07-24 09:27:01 閱讀次數:3915次

Search for a Range

Given a sorted array of integers, find the starting and ending position of a given target value.

Your algorithm's runtime complexity must be in the order of O(log n).

If the target is not found in the array, return [⑴, ⑴].

For example,
Given [5, 7, 7, 8, 8, 10] and target value 8,
return [3, 4].

解題思路:

這道題的題意是找到排序數組中目標值的下標范圍,這個數組可能會有相同的元素。

題目要求時間復雜度在O(logn)。3次2分查找。第1次找到1個值為target的下標k,第2次找到0~k中值為target的最小下標,第3次找到k~len⑴中值為target的最大下標。每次的時間復雜度為O(logn)。

class Solution { public: vector<int> searchRange(vector<int>& nums, int target) { vector<int> result({⑴, ⑴}); int start=0, end=nums.size()⑴; int middle; //找到第1個 while(start<=end){ middle=(start+end)/2; if(nums[middle]==target){ result[0]=result[1]=middle; break; }else if(nums[middle]>target){ end=middle⑴; }else{ start=middle+1; } } if(result[0]!=⑴){ //找到最小的那個下標 start=0; end=result[0]⑴; while(start<=end){ middle=(start+end)/2; if(nums[middle]==target){ end=middle⑴; result[0]=middle; }else{ start=middle+1; } } //找到最大的那個下標 start=result[1]+1; end=nums.size()⑴; while(start<=end){ middle=(start+end)/2; if(nums[middle]==target){ start=middle+1; result[1]=middle; }else{ end=middle⑴; } } } return result; } };


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产精品一区二区久久久 | 亚洲国产一区在线 | 成人片网址| 久久国产成人 | 9色av| 欧美 日韩 国产在线 | 日韩欧美在线免费 | 欧美成人一区二免费视频软件 | 国产一区二区在线免费 | 国户精品久久久久久久久久久不卡 | 亚洲精品一区二区网址 | 国产精品99精品久久免费 | 黄网视频在线观看 | 日韩视频在线一区 | 99久久精品视频免费 | 99久久久国产精品免费调教网站 | 久久国产成人精品 | 成人性视频免费网站 | 欧美大片一区 | 三区av| 亚洲欧美不卡 | 久久中文网 | 黄色靠逼视频 | 国产精品入口免费视 | 色玖玖 | 精品成人免费一区二区在线播放 | 成人av电影天堂 | 成人午夜电影在线播放 | 毛片免费观看视频 | 成人免费小视频 | 国产精品一区二区三区不卡 | 男女免费网站 | 欧美一区二区三区视频在线 | 一区二视频 | 欧洲视频一区二区 | 国产视频福利在线 | 国产精品18 | 91操操操 | av在线不卡网站 | 久久久久久免费精品一区二区三区 | 国产精品一区二区三区在线播放 |