程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Permutations(Leet Code)

Permutations(Leet Code)

編輯:C++入門知識

Permutations(Leet Code)


Given a collection of 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], and [3,2,1].

解題代碼如下:

 

class Solution {
public:
	vector> result;
public:
	vector > permute(vector &num) {
		int length=num.size();
		perm(num,0,length-1);
		return result;
	}
	void perm(vector &num,int k,int m){
		if(k==m)
			result.push_back(num);
		for(int i=k;i<=m;i++){
			swap(num[k],num[i]);
			perm(num,k+1,m);
			swap(num[k],num[i]);
		}
	}
	void swap(int &a,int &b){
			int temp=a;
			a=b;
			b=temp;
	}
};

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved