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

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

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

2019-11-10 19:16:59
字體:
來源:轉載
供稿:網友
#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
亚洲精品女av网站| 精品国产精品三级精品av网址| 久久精品久久精品亚洲人| 亚洲老头同性xxxxx| 欧美肥臀大乳一区二区免费视频| 亚洲图片在区色| 91视频免费在线| 日韩极品精品视频免费观看| 国产成人亚洲综合91精品| 中文字幕亚洲色图| 国产精品久久久久久久久久ktv| 日韩不卡在线观看| 日韩视频在线一区| 91精品久久久久久久久久入口| 欧美人在线视频| 5278欧美一区二区三区| 亚洲天堂av在线播放| 日韩美女视频在线观看| 午夜精品久久久久久久99热| 精品久久久久久久久国产字幕| 国产精品va在线播放我和闺蜜| 插插插亚洲综合网| 国产精品久久久久久久久久久不卡| 亚洲视频在线免费观看| 国产一区二区三区在线看| 亚洲精品日产aⅴ| 日韩av片免费在线观看| 亚洲第一页中文字幕| 久久人91精品久久久久久不卡| 亚洲精品一区中文| 亚洲视频在线观看网站| 青青久久av北条麻妃海外网| 亚洲欧洲美洲在线综合| 欧美亚洲第一页| 国内精品久久久久久中文字幕| 久久国产精品网站| 性欧美亚洲xxxx乳在线观看| 色香阁99久久精品久久久| 久久乐国产精品| 国产精品美乳在线观看| 国产精品久久久久久久一区探花| 日韩av在线网站| 亚洲国产精品久久91精品| 92国产精品久久久久首页| 91精品久久久久久久| 中文字幕在线亚洲| 国产91精品高潮白浆喷水| 日韩欧美亚洲国产一区| 精品电影在线观看| 亚洲午夜未满十八勿入免费观看全集| 亚洲欧美激情在线视频| 国产精品永久免费观看| 国产丝袜一区二区三区| 国产精品www网站| 69久久夜色精品国产69乱青草| 欧美日韩在线观看视频小说| 亚洲精品美女免费| 91日本视频在线| 久久青草精品视频免费观看| 国模精品视频一区二区| 国产精品h在线观看| 国产精品嫩草影院久久久| 亚洲成人网在线观看| 日韩精品免费在线| 精品日韩美女的视频高清| 国产精品va在线播放我和闺蜜| 日韩成人av网址| 国产精品麻豆va在线播放| 国产精品久久久久久影视| 福利二区91精品bt7086| 91精品国产高清久久久久久| 国产91精品黑色丝袜高跟鞋| 77777亚洲午夜久久多人| 国外成人性视频| 国产成+人+综合+亚洲欧美丁香花| 久久久女人电视剧免费播放下载| 狠狠色噜噜狠狠狠狠97| 亚洲国产精品999| 国产精品久久久久久久久久久久久久| 成人性生交大片免费看视频直播| 国产精彩精品视频| 欧美激情视频在线免费观看 欧美视频免费一| 91麻豆国产精品| 91免费看片网站| 欧美色视频日本版| 国产精品老牛影院在线观看| 国产一区二区三区直播精品电影| 久久精品91久久香蕉加勒比| 国产精品av在线播放| 亚洲人线精品午夜| 国产一区在线播放| 国产精品私拍pans大尺度在线| 色噜噜久久综合伊人一本| 欧美激情在线观看视频| 国产亚洲精品91在线| 精品成人69xx.xyz| 亚洲色图五月天| 亚洲天堂免费视频| 亚洲精品福利免费在线观看| 久久精品国产电影| 日韩欧美在线第一页| 欧美性xxxx18| 欧美香蕉大胸在线视频观看| 97超碰蝌蚪网人人做人人爽| 国产精品国产三级国产专播精品人| 亚洲色无码播放| 欧美成人免费在线视频| 久久精品久久精品亚洲人| 欧美日韩在线看| 色樱桃影院亚洲精品影院| 国产午夜一区二区| 国产丝袜高跟一区| 色综合久久久888| www.日本久久久久com.| 91精品美女在线| 韩国三级日本三级少妇99| 中文字幕精品国产| 欧美日韩性视频| 成人有码视频在线播放| 亚洲国产97在线精品一区| 亚洲天堂免费观看| 性欧美视频videos6一9| 欧美午夜激情视频| 另类视频在线观看| 久久福利视频网| 狠狠干狠狠久久| 亚洲美女免费精品视频在线观看| 国产精品美女久久| 尤物精品国产第一福利三区| 亚洲自拍偷拍第一页| 国产精品中文久久久久久久| 草民午夜欧美限制a级福利片| 久久久噜噜噜久噜久久| 成人a免费视频| 亚洲网址你懂得| 91精品国产自产91精品| 欧美精品手机在线| 欧美疯狂性受xxxxx另类| 久久国产精品久久久| 午夜精品久久久久久久男人的天堂| 97在线免费视频| 国产丝袜精品视频| 国产精品精品久久久久久| 亚洲女人被黑人巨大进入| 久久久中文字幕| 国内揄拍国内精品少妇国语| 97国产一区二区精品久久呦| www.亚洲天堂| 久久午夜a级毛片| 国产精品免费观看在线| 久久好看免费视频| 人人做人人澡人人爽欧美| 亚洲精品国产精品国自产在线| 欧美另类精品xxxx孕妇| 国产精品国产三级国产aⅴ浪潮| 国产成人免费av电影| 国产精品自在线| 亚洲男人天堂网站| 欧美不卡视频一区发布| 亚洲欧美日韩国产中文| 亚洲欧美激情一区| 亚洲精品电影在线| 伊人久久大香线蕉av一区二区| 亚洲网站在线播放|