亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

leecode 解題總結:34. Search for a Range

2019-11-10 19:36:23
字體:
來源:轉載
供稿:網友
#include <iostream>#include <stdio.h>#include <vector>using namespace std;/*問題:Given an array of integers sorted in ascending order, 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 [-1, -1].For example,Given [5, 7, 7, 8, 8, 10] and target value 8,return [3, 4].分析:這是二分查找的lower_bound和upper_bound的問題輸入:6(數組元素個數) 8(待查找元素)5 7 7 8 8 106 125 7 7 8 8 101 112 22 2輸出3 4-1 -10 00 1關鍵:1vector<int> results(2 , -1);//vector(n,val)2 		//找不到		if(-1 == low)		{			vector<int> results(2 , -1);//vector(n,val)			return results;		}		//如果找到,但是只有一個元素		else		{			vector<int> results;			results.push_back(low);			results.push_back(high - 1);			return results;		}3 在upper_bound中,		//low == high時,如果找到,就返回		if(nums.at(low) > target)		{			return low;		}		//如果發現找不到,就返回low+1(最后一定low為數組長度)		else		{			return low + 1;		}*/class Solution {public:	//尋找到第一個>=target的位置index,使得即使該元素找不到,插入該元素也有序	int lower_bound(vector<int>& nums , int target)	{		if(nums.empty())		{			return -1;		}		int low = 0;		int high = nums.size() - 1;		int mid;		while(low < high)		{			mid  = low + (high - low) / 2;			//中間大于目標值,目標值,mid可能是結果,繼續在左半部分尋找			if(nums.at(mid) >= target)			{				high = mid;			}			//中間值 < 目標值,mid不可能是結果,在右半部分尋找			else			{				low = mid + 1;			}		}		//low == high時,如果找到,就返回		if(nums.at(low) == target)		{			return low;		}		else		{			return -1;		}	}	//找到第一個>target的元素的下標	int upper_bound(vector<int>& nums , int target)	{		if(nums.empty())		{			return -1;		}		int low = 0;		int high = nums.size() - 1;		int mid;		while(low < high)		{			mid  = low + (high - low) / 2;			//中間大于目標值,目標值,mid可能是結果,需要在左半部分尋找			if(nums.at(mid) > target)			{				high = mid;			}			//中間值 <= 目標值,mid不可能是結果			else			{				low = mid + 1;			}		}		//low == high時,如果找到,就返回		if(nums.at(low) > target)		{			return low;		}		//如果發現找不到,就返回low+1(最后一定low為數組長度)		else		{			return low + 1;		}	}    vector<int> searchRange(vector<int>& nums, int target) {		int low = lower_bound(nums , target);		int high = upper_bound(nums , target);		//找不到		if(-1 == low)		{			vector<int> results(2 , -1);//vector(n,val)			return results;		}		//如果找到,但是只有一個元素		else		{			vector<int> results;			//如果只有一個元素,那么high = low + 1			if(-1 == high)			{				high = low + 1;			}			results.push_back(low);			results.push_back(high - 1);			return results;		}    }};void PRint(vector<int>& results){	if(results.empty())	{		cout << "no result" << endl;		return;	}	int size = results.size();	for(int i = 0 ; i < size ; i++)	{		cout << results.at(i) << " ";	}	cout << endl;}void process(){	int num ;	int value;	vector<int> nums;	int target;	Solution solution;	vector<int> results;	while(cin >> num >> target)	{		nums.clear();		for(int i  = 0 ; i < num ; i++)		{			cin >> value;			nums.push_back(value);		}		results = solution.searchRange(nums , target);		print(results);	}}int main(int argc , char* argv[]){	process();	getchar();	return 0;}
上一篇:時間數值轉換

下一篇:1019_簡單計算器

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美乱妇高清无乱码| 亚洲欧美一区二区三区久久| 亚洲精品视频在线播放| 粉嫩老牛aⅴ一区二区三区| 91精品久久久久久久久久入口| 欧美成人免费一级人片100| 亚洲激情第一页| 久久久亚洲精品视频| 欧美极品少妇xxxxⅹ免费视频| 亚洲视频在线视频| 精品福利免费观看| 国产做受高潮69| 日韩av在线天堂网| 亚洲国产欧美一区二区丝袜黑人| 欧美日韩中文字幕在线视频| 最近2019中文字幕在线高清| 另类少妇人与禽zozz0性伦| 亚洲精品有码在线| 亚洲精品成人av| 亚洲日韩欧美视频一区| 91在线网站视频| 国产精品网红福利| 中文字幕在线看视频国产欧美在线看完整| 日韩亚洲精品电影| 日韩精品在线免费播放| 亚洲qvod图片区电影| 久久大大胆人体| 亚洲精品在线不卡| 欧美激情乱人伦一区| 亚洲第一级黄色片| 色一情一乱一区二区| 国产第一区电影| 精品亚洲国产成av人片传媒| 欧洲成人免费aa| 日韩久久免费视频| 国产一区二区丝袜| 国产精品视频999| 亚洲福利视频久久| 中文字幕精品影院| 精品久久久精品| 欧美高清在线视频观看不卡| 精品无人国产偷自产在线| 亚洲激情在线观看视频免费| 97久久精品视频| 精品亚洲男同gayvideo网站| 亚洲第一中文字幕在线观看| 色视频www在线播放国产成人| 97精品视频在线观看| 欧美日韩一区二区免费在线观看| 久久亚洲私人国产精品va| 亚洲欧美成人一区二区在线电影| 亚洲午夜激情免费视频| 国产一区二区在线免费视频| 日韩av色在线| 另类图片亚洲另类| 欧美肥臀大乳一区二区免费视频| 久久天天躁狠狠躁夜夜av| 国产日韩欧美电影在线观看| 亚洲人成网站777色婷婷| 亚洲va欧美va在线观看| 久久久91精品国产| 亚洲色图欧美制服丝袜另类第一页| 最近2019免费中文字幕视频三| 久热在线中文字幕色999舞| 欧美日韩成人在线观看| 91精品在线看| 亚洲国产成人精品久久久国产成人一区| 亚洲日本欧美日韩高观看| 亚洲人午夜精品| 欧洲日韩成人av| 久久久久99精品久久久久| 日韩电影中文字幕| 国产精品极品美女在线观看免费| 精品国产一区二区三区在线观看| 欧美福利视频在线观看| 亚洲欧美日韩精品久久奇米色影视| 国产v综合ⅴ日韩v欧美大片| 欧美激情欧美激情在线五月| 97精品欧美一区二区三区| 97人人模人人爽人人喊中文字| 亚洲精品白浆高清久久久久久| 亚洲爱爱爱爱爱| 91九色国产视频| 亚洲国产精品高清久久久| 国产精品看片资源| 91精品国产91久久久久久久久| 亚洲国产精品女人久久久| 91精品国产91久久久久久最新| 亚洲无亚洲人成网站77777| 欧美日韩国产精品一区| 秋霞av国产精品一区| 亚洲国产成人在线播放| 中文字幕国产亚洲| 亚洲国产精品va在线观看黑人| 91美女片黄在线观| 国产成人综合精品在线| 欧洲日本亚洲国产区| 色婷婷综合久久久久| 亚洲欧美综合v| 国产一区二区三区在线观看网站| 久久久久久国产精品久久| 欧美性受xxxx白人性爽| 亚洲欧美中文日韩v在线观看| 国模精品视频一区二区三区| 韩国国内大量揄拍精品视频| 国产91九色视频| 久久久久久中文字幕| 日本sm极度另类视频| 成人精品在线观看| 91久久夜色精品国产网站| 国产精品高潮呻吟久久av无限| 91久久国产综合久久91精品网站| 亚洲色图狂野欧美| 精品国产精品三级精品av网址| 97国产成人精品视频| 欧美亚洲午夜视频在线观看| 91香蕉国产在线观看| 欧美一区二区三区免费观看| 欧美中文在线视频| 国产ts一区二区| 欧美www视频在线观看| 91在线|亚洲| 成人中文字幕在线观看| 成人亲热视频网站| 97欧美精品一区二区三区| 国产精品一区二区久久| 亚洲乱码国产乱码精品精天堂| 欧美性猛交xxxx乱大交蜜桃| 亚洲精品成人久久久| 日韩av在线网址| 国产成人免费91av在线| www.99久久热国产日韩欧美.com| 亚洲毛片在线观看.| 国产欧美精品在线| 亚洲免费av网址| 国产成人精品免高潮费视频| 久久精视频免费在线久久完整在线看| 亚洲欧美日韩精品久久| 一区二区三区四区视频| 中文字幕精品—区二区| 精品久久久久久久中文字幕| 国产日韩精品电影| 国产视频精品在线| 色综合视频一区中文字幕| 欧美激情欧美激情在线五月| 日本三级久久久| 成人中文字幕+乱码+中文字幕| 中文字幕精品视频| 日韩电影免费在线观看中文字幕| 精品综合久久久久久97| 日韩av电影手机在线观看| 日韩激情av在线播放| 青青草99啪国产免费| 全亚洲最色的网站在线观看| 九九热精品在线| 超碰精品一区二区三区乱码| 欧美日韩国产一区中文午夜| 欧美激情成人在线视频| 欧美裸体xxxx| 国产日韩欧美自拍| 午夜精品国产精品大乳美女| 久久久久久成人精品| 国产精品成人品| 国产视频精品一区二区三区|