博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Permutation Sequence
阅读量:6085 次
发布时间:2019-06-20

本文共 949 字,大约阅读时间需要 3 分钟。

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.

Note: Given n will be between 1 and 9 inclusive.

 

Hide Tags
   
 
 

    这道题可以直接穷举然后数第k 个,或者 迭代k次得到返回值,或者直接计算出结果。我用是直接计算结果,很多细节上需要处理。
 
#include 
#include
using namespace std;class Solution {public: string getPermutation(int n, int k) { if(n <2) return "1"; int tab[10]={
1}; for(int i =1;i<=9;i++) tab[i] = tab[i-1]*i; int remain[9]={
0}; for(int i=0;i<9;i++) remain[i]=i+1; int cnt = n; string ret = ""; while(cnt>0){ cnt--; int num = (k-1)/tab[cnt];// cout<<"num="<
<

 

 
 

转载于:https://www.cnblogs.com/Azhu/p/4373535.html

你可能感兴趣的文章
传说中的WCF(11):会话(Session)
查看>>
First day with Java :)
查看>>
leetcode — linked-list-cycle-ii
查看>>
轮播图片
查看>>
First Show
查看>>
选择排序(C语言实现) 分类: 数据结构 2015-...
查看>>
通过ADB查看当前Activity
查看>>
[模板] 各种并查集
查看>>
oracle表空间查看增加等操作
查看>>
windows Phone Push Notification
查看>>
EntityFramework6 in github
查看>>
bootstrap table处理后台返回的数据
查看>>
(译)Windsor入门教程---第一部分 获取Windsor
查看>>
Jquery实现图片轮播效果
查看>>
hibernate中懒加载和及加载的区别
查看>>
八皇后问题 思路
查看>>
[POI2018]Plan metra
查看>>
陶哲轩实分析 命题7.4.3 (级数的重排) 证明
查看>>
机器学习_线性回归
查看>>
Swift(一)简单值
查看>>