LeetCode 60. Permutation Sequence(排列序列)
2016-05-21 09:05
429 查看
原题网址:https://leetcode.com/problems/permutation-sequence/
The set
unique permutations.
By listing and labeling all of the permutations in order,
We get the following sequence (ie, for n = 3):
Given n and k, return the kth permutation sequence.
Note: Given n will be between 1 and 9 inclusive.
分析规律:通过排列数的迭代求商和求余,得到目标数字。
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.
分析规律:通过排列数的迭代求商和求余,得到目标数字。
public class Solution { public String getPermutation(int n, int k) { int f = 1; for(int i=1; i<n; i++) f*=i; char[] p = new char ; for(int i=0; i<n; i++) p[i] = (char)('1' + i); k --; for(int i=0; i<n && k>0; i++) { char t = p[i+k/f]; for(int j=i+k/f; j>i; j--) p[j] = p[j-1]; p[i] = t; k %= f; f /= (n-1-i); } return new String(p); } }
相关文章推荐
- LeetCode 52. N-Queens II(N皇后)
- LeetCode 51. N-Queens(N皇后)
- BigBlueButton简介
- Bigbluebutton服务执行过程及相关配置文件
- Bigbluebutton中文乱码问题
- Bigbluebutton安装过程
- POJ 2034 Anti-prime Sequences
- 每日安全资讯:谷歌发现 G Suite 漏洞,部分密码明文存储长达十四年
- LigerUI - 提交表单,checkbox没数据
- LigerUI - 表单设置Hidden input,位置有限制
- LigerUI - 树表格的数据来自Server
- 写了个 UIView 的 Extension 来实现圆角
- MySQL UUID函数的详解
- C# 配合 Easyui DataGrid 实现增删改查 通用模板
- iOS开发总结之UITableView表格数据的批量操作2
- LeetCode 347. Top K Frequent Elements
- MQ通道配置示例(3):Sender/Requester
- iOS开发总结之UITableView表格数据的批量操作
- 多线程编程 - NSOperationQueue
- 【Arduino官方教程第零辑】基础部分-目录