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

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

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

2019-11-10 18:47:25
字體:
來源:轉載
供稿:網友
#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
亚洲女人被黑人巨大进入al| 午夜精品福利在线观看| 国产欧美日韩中文字幕在线| 91精品国产高清自在线| 欧美午夜精品久久久久久人妖| 97视频在线观看成人| 亚洲激情中文字幕| 精品国模在线视频| 综合国产在线观看| 岛国av一区二区三区| 欧美性受xxx| 91福利视频网| 久久久这里只有精品视频| 亚洲视频网站在线观看| 在线观看日韩视频| 最近2019年手机中文字幕| 92版电视剧仙鹤神针在线观看| 尤物九九久久国产精品的分类| 国产女人精品视频| 免费99精品国产自在在线| 日本最新高清不卡中文字幕| 97精品一区二区三区| 在线日韩精品视频| 高跟丝袜一区二区三区| 伊人激情综合网| 欧美国产高跟鞋裸体秀xxxhd| 亚洲free嫩bbb| 国产精品情侣自拍| 欧洲精品久久久| 国产精品吹潮在线观看| 国产成人短视频| 日韩美女视频在线观看| 精品久久久久久久久久久久| 日韩电影大全免费观看2023年上| 国产日韩专区在线| 欧美一级大胆视频| 亚洲国产欧美一区二区三区同亚洲| 国产精品久久久久久久久| 最新亚洲国产精品| 亚洲国产成人爱av在线播放| 国产欧美最新羞羞视频在线观看| 国产精品久久久久久影视| 日韩成人激情在线| 91精品国产高清自在线看超| 在线观看视频亚洲| 在线一区二区日韩| 欧美大胆a视频| 精品国产依人香蕉在线精品| 亚洲精品v天堂中文字幕| 国产精选久久久久久| 中文字幕欧美日韩va免费视频| 精品中文字幕视频| 亚洲欧洲国产一区| 性色av香蕉一区二区| 国产亚洲激情视频在线| 成人免费视频97| 亚洲欧美国产精品va在线观看| 中文字幕国产精品| 精品视频在线播放免| 欧美人与性动交a欧美精品| 久久久久久久久久久av| 国产拍精品一二三| 亚洲日韩欧美视频一区| 91在线高清视频| 精品久久久国产| 国产精品日韩久久久久| 欧美有码在线观看| 91地址最新发布| 亚洲精品日韩激情在线电影| 国产视频一区在线| 国产91精品久久久| 欧美日韩国产精品| 日韩精品中文字幕在线观看| 亚洲a在线播放| 亚洲免费一在线| 亚洲第一视频网| 亚洲精品免费一区二区三区| 国产精品国产三级国产aⅴ浪潮| 国产美女久久精品| 成人在线播放av| 欧洲日本亚洲国产区| 日韩欧美在线字幕| 91亚洲精品一区二区| 国产精品扒开腿做爽爽爽视频| 国产日韩av在线播放| 国产精品亚洲第一区| 欧美在线视频网站| 欧美国产视频日韩| 国产精品第2页| 一区二区欧美日韩视频| www.亚洲一二| 在线观看久久久久久| 欧美日韩国产成人高清视频| 欧美高清电影在线看| 免费不卡在线观看av| 福利一区福利二区微拍刺激| 国产精品视频区1| 91青草视频久久| 日韩av免费在线看| 欧美激情亚洲一区| 国产精品视频xxxx| 亚洲女人被黑人巨大进入| 在线电影中文日韩| 色综合视频网站| 久久影院中文字幕| 在线视频免费一区二区| 欧美性生交大片免费| 亚洲爱爱爱爱爱| 欧美大码xxxx| 亚洲国产美女久久久久| 国产一区二区三区三区在线观看| 日本三级韩国三级久久| 成人免费视频97| 精品久久久一区二区| 久久精品福利视频| 7m第一福利500精品视频| 日韩av在线不卡| 色偷偷88888欧美精品久久久| 成人黄色av网站| 欧美性猛交xxxx乱大交| 国产日韩精品在线观看| 日韩av在线免费观看一区| 欧美乱妇高清无乱码| 精品亚洲aⅴ在线观看| 国产精品福利片| 久久久爽爽爽美女图片| 精品性高朝久久久久久久| 亚洲第一网站男人都懂| 国产一区二区三区网站| 亚洲美女精品久久| 欧美久久精品一级黑人c片| 日韩av电影手机在线| 日韩欧美在线一区| 亚洲精品乱码久久久久久金桔影视| 国产精品丝袜视频| 日韩在线观看av| 久久免费福利视频| 日韩电影网在线| 欧美放荡办公室videos4k| 亚洲午夜av电影| 伊人伊成久久人综合网小说| 亚洲日本中文字幕| 色老头一区二区三区| 久久精品成人欧美大片古装| 国产精品私拍pans大尺度在线| 亚洲第一精品福利| 日韩成人高清在线| 九九热视频这里只有精品| 久久综合九色九九| 国产精品久久久久久久久久三级| 精品国产一区二区在线| 久久久影视精品| 成人av电影天堂| 91精品国产91久久久久久吃药| 国产精品视频免费在线| 国模视频一区二区三区| 欧美日在线观看| 亚洲精品成人网| 成人福利视频网| 久久精品国产96久久久香蕉| 国精产品一区一区三区有限在线| 国产精品久久久久免费a∨| 亚洲第一网站男人都懂| 国产噜噜噜噜噜久久久久久久久|