60. Permutation Sequence
来源:互联网 发布:java监听jar包加入 编辑:程序博客网 时间:2024/05/01 13:24
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):
"123"
"132"
"213"
"231"
"312"
"321"
Given n and k, return the kth permutation sequence.
Note: Given n will be between 1 and 9 inclusive.
Solution O(n ^ 2) Remove elements from an array is O(n)
Explanation https://leetcode.com/discuss/42700/explain-like-im-five-java-solution-in-o-n
public String getPermutation(int n, int k) { int[] factorial = new int [n + 1]; factorial[0] = 1; for(int i = 1; i <= n; i++){ factorial[i] = i * factorial[i - 1]; } List<Integer> array = new ArrayList<Integer>(n); for(int i = 1; i <= n; i++){ array.add(i); } k--; StringBuilder sb = new StringBuilder(); for(int i = 1; i <= n; i++){ int index = k / factorial[n - i]; sb.append(array.get(index)); array.remove(index); k %= factorial[n - i]; } return sb.toString(); }
0 0
- LeetCode --- 60. Permutation Sequence
- [Leetcode] 60. Permutation Sequence
- [leetcode] 60.Permutation Sequence
- 60. Permutation Sequence
- 60. Permutation Sequence
- **LeetCode 60. Permutation Sequence
- leetcode 60. Permutation Sequence
- 60. Permutation Sequence
- 60. Permutation Sequence
- 60. Permutation Sequence
- 60. Permutation Sequence
- 60. Permutation Sequence
- [LeetCode]60. Permutation Sequence
- LeetCode *** 60. Permutation Sequence
- 60. Permutation Sequence
- LeetCode 60. Permutation Sequence
- hiho 60. Permutation Sequence
- leetcode 60. Permutation Sequence
- Redis学习笔记(十一)——Redis持久化
- Android中测量控件的宽和高
- 不懂接口的程序员就不懂开发
- uclinux stm32移植enc28j60笔记
- struts2中#,%的用法区别?
- 60. Permutation Sequence
- Linux内核导读之微型计算机组成原理(笔记)
- 279. Perfect Squares
- 列表和字典的一些方法
- 转载的一篇编程规范
- curl
- Fragment基本概述
- Fragment实例精讲——底部导航栏的实现(1)
- Fragment实例精讲——底部导航栏的实现(2)