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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

leecode 解題總結(jié):31. Next Permutation

2019-11-10 20:18:34
字體:
供稿:網(wǎng)友
#include <iostream>#include <stdio.h>#include <vector>#include <algorithm>using namespace std;/*問題:Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such arrangement is not possible, it must rearrange it as the lowest possible order (ie, sorted in ascending order).The replacement must be in-place, do not allocate extra memory.Here are some examples. Inputs are in the left-hand column and its corresponding outputs are in the right-hand column.1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1分析:此問題要求產(chǎn)生按照字典順序產(chǎn)生下一個(gè)較大的數(shù)字排列。如果已經(jīng)是最大的數(shù)字排列則返回最小的數(shù)字排列。關(guān)于排列問題,可以通過遞歸擺放的形式產(chǎn)生。但是遞歸擺放尤其要注意數(shù)字中有重復(fù)數(shù)字的情況。一種方法是:從初始狀態(tài)進(jìn)行處理,遞歸到輸出當(dāng)前輸入的排列后,則記錄當(dāng)前輸入排列后面下一個(gè)排列為最終結(jié)果。但是這樣會(huì)耗費(fèi)O(n!)時(shí)間,令外一種方法是下一個(gè)排列應(yīng)該比上一個(gè)排列稍微大一點(diǎn),也就是在原有排序的基礎(chǔ)上從后向前找到:如果當(dāng)前數(shù)大于前面一個(gè)數(shù)就交換。如果整個(gè)排列的數(shù)是逆序的,說明已經(jīng)是最大的,則重新排序一下變成最小的。輸入:3(元素個(gè)數(shù))1 2 331 1 133 2 131 1 531 2 131 3 2輸出:1 3 21 1 11 2 31 5 12 1 12 1 31 報(bào)錯(cuò):Input:[1,3,2]Output:[3,1,2]Expected:[2,1,3]問題出在:不能簡(jiǎn)單地將當(dāng)前數(shù)>前面的一個(gè)數(shù)進(jìn)行調(diào)換后處理,需要進(jìn)行處理。也就是說可以將這些數(shù)生成排列,進(jìn)行排序,找到當(dāng)前數(shù)的下一個(gè)數(shù),時(shí)間復(fù)雜度為O(n!)關(guān)鍵:1需要找到需要調(diào)換的較小的數(shù)字下標(biāo),該下標(biāo)是從后向前,存在nums[i] < nums[i+1]中的下標(biāo)i,注意這里不是讓nums[i] 和 nums[i+1]調(diào)換,而是需要再次從后向前尋找到nums[k] > nums[i],這里表明nums[k]是大于nums[i]中的最小數(shù)字,符合下一個(gè)排列一定是比原來排列稍大的條件,注意需要將nums中k+1~len-1的數(shù)組元素進(jìn)行逆置,因?yàn)檫@一段元素已經(jīng)是降序不是最小的*/class Solution {public:    void nextPermutation(vector<int>& nums) {        if(nums.empty())		{			return;		}		//非逆序,則從后向前:尋找到第一次出現(xiàn):當(dāng)前數(shù)值>前面一個(gè)數(shù)的位置,該數(shù)字就是需要替換的較小數(shù)		int len = nums.size();		int k = -1;		for(int i = len - 2 ; i >= 0; i--)		{			if(nums.at(i) < nums.at(i+1))			{				k = i;				break;			}		}		//如果是逆序,則排序。牛逼,這用數(shù)組下標(biāo)判斷		if(-1 == k)		{			sort(nums.begin() , nums.end());			return;		}		//再次從后向前,尋找到第一次大于待替換的數(shù)值(從后向前默認(rèn)是升序132,比如這里應(yīng)該找到2比最前面帶替換的1大,所以交換后變成231,		//但是交換后后面變成標(biāo)準(zhǔn)的降序如31,此時(shí)已經(jīng)確保首位變大,后面降序應(yīng)該變成升序,因此需要逆置		for(int i = len - 1 ; i >= 0 ; i --)		{			if(nums.at(i) > nums.at(k))			{				int temp = nums.at(i);				nums.at(i) = nums.at(k);				nums.at(k) = temp;				break;//要退出			}		}		//將轉(zhuǎn)換后的較大位之后部分逆置,使其變成最小值		reverse(nums.begin() + k + 1  , nums.end());    }};void PRint(vector<int>& datas){	if(datas.empty())	{		cout << "no result" << endl;		return;	}	int size = datas.size();	for(int i = 0 ; i < size ; i++)	{		cout << datas.at(i) << " ";	}	cout << endl;}void process(){	int num;	int value;	vector<int> datas;	Solution solution;	while(cin >> num)	{		datas.clear();		for(int i = 0 ; i < num ; i++)		{			cin >> value;			datas.push_back(value);		}		solution.nextPermutation(datas);		print(datas);	}}int main(int argc , char* argv[]){	process();	getchar();	return 0;}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
久久精品国产96久久久香蕉| 国产在线观看www| 午夜伦伦电影理论片费看| 蜜桃久久精品一区二区| 伦伦影院午夜理论片| 岛国在线视频| 亚洲曰本av电影| 亚洲激情 国产| 蜜桃传媒视频第一区入口在线看| 午夜精品一区二区三区电影天堂| 色综合久久88色综合天天免费| 日韩欧美性视频| 中文字幕精品一区二区精品绿巨人| 伊人久久99| 亚洲高清二区| 国产精品一区二区久久| 一区二区日韩电影| 成人av午夜电影| 一本色道久久综合亚洲| 日本一区二区免费在线观看| 日韩视频在线一区二区| 一本一道久久a久久精品综合| 韩国精品一区二区三区| 亚洲天堂网一区| 三上悠亚在线观看| 91精品精品| 国产精品.xx视频.xxtv| 成人免费性视频| 先锋影音av资源在线| 999一区二区三区| 好吊日精品视频| 日本a在线观看| 欧美主播福利视频| 亚洲大片免费看| 97久久精品视频| 欧美成人精品激情在线视频| 人妻中文字幕一区二区三区| 麻豆精品蜜桃一区二区三区| 九九视频在线免费观看| 亚洲欧洲www| 女同互忝互慰dv毛片观看| 亚洲精品aaaaa| 国产精品一区二区三区观看| 久久一区二区三区国产精品| 成人精品在线| se69色成人网wwwsex| 疯狂做受xxxx高潮欧美日本| 久久久久久国产视频| 日本成人在线免费视频| 久久色成人在线| 18禁裸男晨勃露j毛免费观看| 美女脱光衣服与内衣内裤一区二区三区四区| 欧美特黄aaa| 99久久婷婷国产综合精品青牛牛| 欧美激情亚洲综合| yiren22综合网成人| 国产无套精品一区二区| 超碰在线一区二区三区| 亚洲综合小说图片| 欧美 国产 小说 另类| 无码人妻一区二区三区免费n鬼沢| 日本人妻丰满熟妇久久久久久| 国产欧美日韩亚洲一区二区三区| 快she精品国产999| 在线播放免费视频| 污污网站在线免费观看| 成年人小视频网站| 亚洲成人va| 欧美hdsex| 亚洲人成在线一二| 国产一区二区亚洲| 中文字幕无人区二| 亚洲欧美清纯在线制服| 国产精品第157页| 亚洲欧美日韩精品久久| 碰碰在线视频| 欧美电影免费观看完整版| www.亚洲免费视频| 欧美一级片久久久久久久| 久久久青草婷婷精品综合日韩| 国产欧美日韩在线播放| 在线欧美不卡| 三级在线播放| 99精品人妻无码专区在线视频区| 激情五月婷婷久久| 日本精品在线观看| 日韩av片免费观看| 国产亚洲欧美日韩高清| 香蕉视频免费在线播放| 免费成人蒂法网站| 99久久久久国产精品免费| 91精品人妻一区二区三区四区| 国产日韩精品久久| jizz大全欧美jizzcom| 国产精品久久久久久久久免费桃花| 91国语精品自产拍在线观看性色| 国产区精品区| 欧美成人合集magnet| 97天天综合网| 精品国产三级a∨在线| 日韩成人一区二区三区在线观看| 99精品在免费线中文字幕网站一区| 国产精品一区二区不卡| 国产欧美一区二区在线播放| 中文字幕免费在线观看视频一区| 欧美a视频在线观看| 国严精品久久久久久亚洲影视| 中文字幕亚洲视频| 亚洲成av人片乱码色午夜| 337p亚洲精品色噜噜狠狠| 99久久免费精品高清特色大片| 成人午夜免费在线视频| 欧美午夜一区二区三区免费大片| 欧美挠脚心视频网站| 亚洲欧美日韩一区| 在线看的av网站| 视频国产一区二区| 91亚洲免费视频| 国风产精品一区二区| 亚洲AV无码成人精品区明星换面| 欧美一区午夜视频在线观看| 国产suv精品一区二区33| 日韩深夜福利| 亚洲自拍在线观看| 国产精品人成电影| 久久亚洲国产精品尤物| 四虎成人永久免费视频| 在线精品小视频| 国产午夜伦鲁鲁| 精品视频无码一区二区三区| www.欧美国产| 无码国产精品一区二区免费16| 无码人妻黑人中文字幕| 久久露脸国语精品国产91| 亚洲福利在线观看| ww国产内射精品后入国产| 亚洲免费一区三区| 在线免费观看成人| 免费一级大片| 欧美人一级淫片a免费播放| 成人av福利| www.午夜激情| 黄色资源网久久资源365| 日韩大尺度黄色| 男女啪啪999亚洲精品| 成人三级网址| 精油按摩中文字幕久久| 午夜黄色一级片| 97超碰资源站在线观看| 午夜在线播放视频欧美| 精品日韩久久久| 51漫画成人app入口| 希岛爱理av免费一区二区| 看成年女人免费午夜视频| 99re6这里有精品热视频| 色yeye免费人成网站在线观看| 337p亚洲精品色噜噜噜| 最近中文字幕免费在线观看| 大伊香蕉精品视频在线| 成人av资源在线| 欧美亚洲精品一区二区| 五月激激激综合网色播| 亚洲一区二区三区在线看| www.五月婷婷.com| 国产伦精品一区二区三区视频孕妇| 久久精品一区二| 538任你躁在线精品视频网站| 国产免费一区二区三区网站免费| 在线观看日韩精品视频| 亚洲综合在线免费| 中文天堂网在线www| 韩国精品免费视频| 激情国产一区| 亚洲福利视频免费观看| 无人码人妻一区二区三区免费| 欧美与黑人午夜性猛交久久久| 69久久精品无码一区二区| 91超碰在线观看| 一区二区三区四区高清视频| 男人天堂午夜在线| xxx国产hd| 欧美黑人性猛交xxx| 中文在线一二区| 一个人免费播放在线视频看片| 亚洲二区三区不卡| 超碰在线caoporn| 午夜三级在线观看| 在线观看免费高清完整| 国产亚洲精品久久久久久豆腐| 日韩av手机在线免费观看| 在线免费观看亚洲视频| 热99re久久精品精品免费| 91精品国产高清一区二区三区| 五月天久久久久久| 色图在线观看| 欧美国产1区2区| 天天操天天怕| juliaann成人作品在线看| 国产精品久久久久久精| 国产黄色大片在线观看| 一卡二卡三卡视频| 欧美成人ⅴideosxxxxx| av免费观看久久| 手机在线不卡av| 本网站久久精品| 91亚洲国产成人精品一区二区三| 福利91精品一区二区三区| 91嫩草视频在线观看| xxxx视频在线观看| 免费在线看电影| 亚洲欧美激情国产综合久久久| 黄色一级片一级片| 91麻豆精品国产自产在线观看一区| 国产精品综合| 精品久久久久久久久久久国产字幕| 你懂的在线观看一区二区| 第一会所sis001亚洲| zzzwww在线看片免费| 亚洲电影在线免费观看| 夜夜嗨av禁果av粉嫩avhd| 亚洲男人的天堂一区二区| 中文字幕亚洲免费| 91精品国产综合久久久久久丝袜| 狠狠干视频网站| 国产免费无码一区二区| 中文字幕欧美国内| 绯色av蜜臀vs少妇| 欧美日韩激情在线观看| 色狠狠av一区二区三区香蕉蜜桃| 亚洲免费电影在线| 国产农村妇女毛片精品久久莱园子| 国内精品久久久久国产盗摄免费观看完整版| 精品国产1区二区| av在线播放亚洲| 国产一级淫片a视频免费观看| 国产中文精品久高清在线不| 日本免费专区| 欧美性受xxxx黒人xyx性爽| 国产丝袜高跟一区| 国产免费裸体视频| 好吊色在线观看| 天堂网www在线中文天堂| 在线精品一区二区| 成人性生交免费看| 久久久久久噜噜噜久久久精品| 美女国产一区| 黄网页免费在线观看| 色欲AV无码精品一区二区久久| 最近中文字幕2019免费| 国产色视频一区| 亚洲一级中文字幕| 717影院理论午夜伦不卡久久| 亚洲精品美腿丝袜| 69av自拍偷拍| 欧美伊人亚洲伊人色综合动图| 久久在线视频免费观看| 国产成人黄色av| eeuss影院www在线观看| 日韩亚洲精品在线| 午夜精品视频| 日韩在线欧美在线| 中文字幕欧美国产| 日本福利小视频| 成人免费毛片高清视频| 真实国产乱子伦精品一区二区三区| 欧美日韩一级片网站| 国产主播精品| 综合久久伊人| 久久久国产精华液999999| 一区二区三区中文免费| 国产美女精品在线| 国产精品久久999| 亚洲精品一区二区| 国内精品400部情侣激情| 亚洲女人的天堂| 成人福利片网站| 亚洲国产精品va在线观看黑人| 成人av色在线观看| 麻豆一区产品精品蜜桃的特点| 欧美e片成人在线播放乱妇| аⅴ资源天堂资源库在线| 久久久久久青草| 韩国三级在线观看久| 国产青春久久久国产毛片| 能直接看的av| 亚洲男人的天堂在线视频| 国产乱人伦精品一区二区三区| 爱福利在线视频| av网站免费大全| 91蜜桃在线视频| 嫩草影院入口一二三免费| 天天爽天天爽夜夜爽| 国产精品亚洲人在线观看| 在线视频日韩| 漫画在线观看av| 超碰公开在线| 国产高清一区日本| 日韩欧美猛交xxxxx无码| 中文字幕人妻一区二区在线视频| 禁断一区二区三区在线| 校园春色亚洲色图| 羞羞小视频在线观看| 精品国产伦一区二区三区观看体验| 欧洲亚洲一区二区三区| 亚洲欧美日韩在线| 狠狠综合久久av一区二区| 欧美激情在线有限公司| 人妻av无码专区| 极品粉嫩国产18尤物| 日韩欧美中文字幕制服| 亚洲精品之草原avav久久| 久久精品国产精品亚洲毛片| 成人免费在线观看av| 高潮毛片7777777毛片| 91麻豆成人精品国产| 四虎国产精品成人免费4hu| 成人免费看片视频在线观看| 日韩欧美国产麻豆| 精品一区在线| 久久国产精品成人免费观看的软件| 中文字幕无人区二| 4444欧美成人kkkk| 99精品视频在线免费播放| 神马电影久久| 中文字幕日本三级| 久久影院电视剧免费观看| 亚洲欧洲中文日韩久久av乱码| 丰满圆润老女人hd|