摘要:題目要求也就是得出所有可能的排列組合結(jié)果解題思路和代碼這題顯然采用遞歸的思路。在這里,我采用實現(xiàn)隊列,從隊列頭獲得上一組的結(jié)果,和當前元素結(jié)合之后,將結(jié)果插入到隊尾。
題目要求
Given a collection of distinct numbers, return all possible permutations. For example, [1,2,3] have the following permutations: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ]
也就是得出所有可能的排列組合結(jié)果
解題思路和代碼這題顯然采用遞歸的思路。例如,如果我們知道兩個元素所有排列組合的結(jié)果,那么在該排列組合的結(jié)果上加入第三個元素,只需將第三個元素插入雙元素排列組合結(jié)果的不同位置上即可以生成三個元素排列組合的結(jié)果。四個元素同理。
在這里,我采用LinkedList實現(xiàn)隊列,從隊列頭獲得上一組的結(jié)果,和當前元素結(jié)合之后,將結(jié)果插入到隊尾。
public List> permute(int[] nums) { LinkedList
> result = new LinkedList
>(); if(nums.length == 0){ return result; } List
first = new LinkedList (); first.add(0, nums[0]); result.add(first); List temp; for(int i = 1 ; i (temp)); temp.remove(j); } }while(result.getFirst().size() == i); } return result; }
想要了解更多開發(fā)技術,面試教程以及互聯(lián)網(wǎng)公司內(nèi)推,歡迎關注我的微信公眾號!將會不定期的發(fā)放福利哦~
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/70050.html
摘要:題目要求假設按照題中給的排列組合的順序,假設有個數(shù)字,返回第個排列組合的結(jié)果。最后在個位上,選擇中的第一個。這時知道以第位為開頭的結(jié)果值有此時第個結(jié)果集在該位上的選擇為。依次往后類推,直至到最后一位。 題目要求 The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling...
摘要:如果當前數(shù)字代表的整數(shù)值已經(jīng)是所有排列組合中的最大值,則返回當前數(shù)字組成的最小值??墒沁@意味著大量無用的數(shù)字的生成和比較。一個數(shù)字中的各個位上的數(shù)如何調(diào)整順序才能獲得一個最小的更大值。其次,要保證移動之后,高位以后的值為最小值。 題目要求 Implement next permutation, which rearranges numbers into the lexicographi...
摘要:解題思路這道題是要將排列按字典序排列,然后求出下一個排列,一種辦法是我們先求出所有的排序情況,但是題目規(guī)定不能占有額外空間。每次求出一個數(shù)字后,要及時的把它從中刪除掉。采用來構(gòu)造結(jié)果序列。 PermutationsGiven a collection of distinct numbers, return all possible permutations. For example, ...
摘要:因為增加高位會帶來更大的增益。所以對于一個長為的序列,我們增加第位的前提是,前位已經(jīng)達到了最大排列方法。因為是找下一個數(shù),所以我們要找一個比小卻盡可能大的數(shù),所以找到。把換到的位置后,后三位仍然是個降序的排列。 Next Permutation Implement next permutation, which rearranges numbers into the lexicogr...
摘要:找規(guī)律復雜度時間空間思路由于我們只要得到第個全排列,而不是所有全排列,我們不一定要將所有可能都搜索一遍。根據(jù)全排列順序的性質(zhì),我們可以總結(jié)出一個規(guī)律假設全排列有個數(shù)組成,則第個全排列的第一位是。然后將得到,這個就是下一輪的。 Permutation Sequence The set [1,2,3,…,n] contains a total of n! unique permutati...
閱讀 1220·2021-11-22 12:05
閱讀 1345·2021-09-29 09:35
閱讀 642·2019-08-30 15:55
閱讀 3136·2019-08-30 14:12
閱讀 962·2019-08-30 14:11
閱讀 2883·2019-08-30 13:10
閱讀 2411·2019-08-29 16:33
閱讀 3338·2019-08-29 11:02