首页 > 其他 > 详细

Permutation Sequence

时间:2015-06-24 02:17:37      阅读:196      评论:0      收藏:0      [点我收藏+]

The set?[1,2,3,…,n]?contains a total of?n! unique permutations.

By listing and labeling all of the permutations in order,
We get the following sequence (ie, for?n?= 3):

  1. "123"
  2. "132"
  3. "213"
  4. "231"
  5. "312"
  6. "321"

?

Given?n?and?k, return the?kth?permutation sequence.

?

public class Solution {
    public String getPermutation(int n, int k) {
    	int t = 1;;
    	List<Integer> list = new ArrayList<Integer>();
    	for (int i = 1; i <= n; i++) {
    		t *= i;
    		list.add(i);
    	}
    	k--;
    	StringBuilder sb = new StringBuilder();
    	for (int i = n; i >= 1; i--) {
    		t = t/i;
    		int index = k/t;
    		sb.append(list.get(index));
    		list.remove(index);
    		k = k % t;
    	}
    	return sb.toString();
    }
}

?

Permutation Sequence

原文:http://hcx2013.iteye.com/blog/2221287

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!