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

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

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

2019-11-10 19:49:10
字體:
來源:轉載
供稿:網友
#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;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一视频在线观看| 成人一区二区电影| 亚洲国产欧美一区二区三区久久| 国产欧美一区二区三区视频| 久久久久免费视频| 国产精品美乳在线观看| 亚洲人成电影在线播放| 久久久久国产精品www| 搡老女人一区二区三区视频tv| 欧美日韩一区二区免费视频| 久久久久久噜噜噜久久久精品| 成人网页在线免费观看| 国产精品成人观看视频国产奇米| 欧美亚洲日本黄色| 国产精品美女www爽爽爽视频| 亚洲美女视频网| 欧美日韩第一页| 亚洲精品aⅴ中文字幕乱码| 日日狠狠久久偷偷四色综合免费| 色婷婷av一区二区三区在线观看| 欧美俄罗斯性视频| 91av国产在线| 国产精品91久久久久久| 亚洲成人黄色网| 欧美视频一二三| 欧美另类69精品久久久久9999| 国产精品99蜜臀久久不卡二区| 97色伦亚洲国产| 日韩日本欧美亚洲| 精品成人69xx.xyz| 亚洲最新视频在线| 欧美亚洲伦理www| 日本亚洲精品在线观看| 亚洲国产精品悠悠久久琪琪| 在线电影欧美日韩一区二区私密| 91精品视频免费观看| 2020国产精品视频| 疯狂做受xxxx高潮欧美日本| 中文国产成人精品久久一| 97久久国产精品| 欧美肥婆姓交大片| 亚洲精品久久久久久久久久久久久| 欧美—级高清免费播放| 国产一区二区三区在线看| 日韩精品一二三四区| 欧洲s码亚洲m码精品一区| 亚洲精品视频免费在线观看| 日本免费久久高清视频| 91禁国产网站| 亚洲国产精久久久久久久| 精品福利在线视频| 亚洲伊人久久大香线蕉av| 亚洲天堂男人天堂| 欧美日韩国产成人在线| 成人羞羞国产免费| 国产在线一区二区三区| 久久99视频免费| 亚洲国产精品成人一区二区| 2025国产精品视频| 久久综合色88| 日韩欧美中文在线| 亚洲理论电影网| 国产aⅴ夜夜欢一区二区三区| 欧美精品在线免费观看| 日韩欧美国产一区二区| 国产91免费看片| 亚洲人成伊人成综合网久久久| 26uuu另类亚洲欧美日本老年| 国产精品观看在线亚洲人成网| 91色p视频在线| 91精品久久久久久久久久久| 精品日韩中文字幕| 国产精品夜间视频香蕉| 亚洲香蕉av在线一区二区三区| 最新国产成人av网站网址麻豆| 91精品国产综合久久香蕉最新版| 热re91久久精品国99热蜜臀| 欧美日韩性视频在线| 亚洲精品国产品国语在线| 97在线看免费观看视频在线观看| 国产免费观看久久黄| 亚洲欧美日韩另类| 日韩av在线导航| 久久天天躁狠狠躁夜夜躁| 久久精品精品电影网| 国产91免费观看| 97超碰色婷婷| 久久成人在线视频| 亚洲欧美日韩成人| 成人黄色中文字幕| 亚洲美女性生活视频| 欧美韩国理论所午夜片917电影| 精品自拍视频在线观看| 欧美黑人国产人伦爽爽爽| 国产精品视频一区国模私拍| 欧美日韩美女视频| 在线a欧美视频| 中文字幕亚洲激情| 欧美日韩国产色| 中文字幕自拍vr一区二区三区| 久久久视频精品| 国产亚洲人成a一在线v站| 啪一啪鲁一鲁2019在线视频| 久久亚洲欧美日韩精品专区| 久久精品中文字幕免费mv| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲福利在线观看| 51精品国产黑色丝袜高跟鞋| 成人在线一区二区| 亚洲最大激情中文字幕| 日韩动漫免费观看电视剧高清| 欧美高清视频在线观看| 中文字幕在线亚洲| 91久久在线视频| 亚洲人免费视频| 欧美人与性动交a欧美精品| 国产精品大陆在线观看| 欧日韩在线观看| 日韩欧美中文第一页| 欧美日韩国产专区| 在线观看欧美成人| 欧美限制级电影在线观看| 亚洲影院色无极综合| 日韩有码片在线观看| 久久精品久久久久久国产 免费| 一区二区三区黄色| 色偷偷av一区二区三区| 欧美性猛交xxxx富婆| 亚洲国产成人在线播放| 黄色91在线观看| 久久大大胆人体| 亚洲欧美日韩天堂一区二区| 日韩女在线观看| 亚洲精品天天看| 国产成人精品999| 亚洲女同性videos| 精品久久久久久国产| 亚洲第五色综合网| 亚洲视频免费一区| 国产欧美日韩免费看aⅴ视频| 亚洲精品视频免费在线观看| 日韩麻豆第一页| 国产精品久久久999| 尤物yw午夜国产精品视频| 性欧美在线看片a免费观看| 欧美午夜精品久久久久久浪潮| 亚洲欧美激情另类校园| 亚洲伦理中文字幕| 色偷偷888欧美精品久久久| 久久久亚洲国产天美传媒修理工| 欧美日韩国产丝袜另类| 精品久久久91| 粗暴蹂躏中文一区二区三区| 亚洲社区在线观看| 国产午夜精品全部视频播放| 国产丝袜一区视频在线观看| 欧美xxxx14xxxxx性爽| 久久久免费电影| 久久久免费精品| 国产精品久在线观看| 91福利视频网| 少妇激情综合网| 日韩精品中文字幕视频在线| 色婷婷亚洲mv天堂mv在影片|