国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

[LeetCode 77] Combinations(精妙的迭代)

2019-11-10 18:57:20
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

題目?jī)?nèi)容

77.Combinations Given two integers n and k, return all possible combinations of k numbers out of 1 … n.

For example, If n = 4 and k = 2, a solution is:

[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 題目鏈接

題目簡(jiǎn)介

寫(xiě)出給定范圍整數(shù)的所有組合

題目分析

用迭代法。以全零數(shù)列開(kāi)始迭代,從首元素開(kāi)始進(jìn)行如下迭代。 1.該數(shù)自增1。 2.若元素大于n,指針前移一位,回循環(huán)體頭部; 若已是末尾元素,記錄該組合; 否則把該元素的值賦給后一元素。指針后退一位返回循環(huán)體頭部。

實(shí)際模擬后發(fā)現(xiàn)該過(guò)程可視為從首元素為1,公差為1的等差數(shù)列的迭代過(guò)程。 從末尾元素開(kāi)始對(duì)每個(gè)元素進(jìn)行遞增,若每數(shù)均小于n且成功到達(dá)末尾元素,則記錄組合;若超出范圍則將指針后退,對(duì)前一元素進(jìn)行遞增。 根據(jù)歸納法可知該方法可以不遺漏不重復(fù)地記錄所有合法組合。

代碼示例

class Solution {public: vector<vector<int>> combine(int n, int k) { vector<vector<int>> res; vector<int> temp(k,0); int i=0; while(i>=0) { temp[i]++; if(temp[i]>n) i--; else if(i==k-1) res.push_back(temp) ; else { i++; temp[i]=temp[i-1]; } } return res; }};
上一篇:鋪地毯P1003

下一篇:集合面試

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 吉隆县| 芜湖市| 洱源县| 准格尔旗| 隆子县| 永靖县| 吴江市| 会宁县| 宜君县| 古交市| 龙游县| 雷波县| 财经| 东辽县| 阿鲁科尔沁旗| 沙坪坝区| 科技| 岑巩县| 闸北区| 湖南省| 中山市| 安乡县| 湘西| 垣曲县| 威远县| 壶关县| 郁南县| 伊金霍洛旗| 宝山区| 阳泉市| 房山区| 格尔木市| 阿荣旗| 九龙城区| 河间市| 沾益县| 永昌县| 洛浦县| 桐乡市| 沙洋县| 常德市|