zoukankan      html  css  js  c++  java
  • 第k个排列

    给定 n 和 k,求123..n组成的排列中的第 k 个排列。

     注意事项

    1 ≤ n ≤ 9

    样例

    对于 n = 3, 所有的排列如下:

    123
    132
    213
    231
    312
    321
    

    如果 k = 4, 第4个排列为,231.

     1 public class PaiLieK
     2 {
     3     public String getPermutation(int n, int k)
     4     {
     5         List<Integer> list = new ArrayList<>();
     6         List<Integer> list1 = new ArrayList<>();
     7         for(int i = 1; i <= n; i++)
     8         {
     9             list.add(i);
    10         }
    11 
    12         boolean has = true;
    13         first:
    14         for(int i = 0; i < Math.pow(10,n);i++)
    15         {
    16             for(int j = 0; j < list.size(); j++)
    17             {
    18                 if(!(i+"").contains(list.get(j)+""))
    19                 {
    20                     has = false;
    21                     continue ;
    22                 }
    23             }
    24             if(has&&list.size() == getDigits(i))
    25             {
    26                 list1.add(i);
    27             }
    28             has = true;
    29         }
    30         Integer integer=list1.get(k-1);
    31         return String.valueOf(integer);
    32     }
    33 
    34 
    35     public int getDigits(int i)
    36     {
    37         int count = 0;
    38         while(i >0)
    39         {
    40             count++;
    41             i /=10;
    42         }
    43         return count;
    44     }
    45     @Test
    46     public void testGetDigits()
    47     {
    48         System.out.println(getDigits(198));
    49         getDigits(198);
    50     }
    51     @Test
    52     public void testGetPermutation()
    53     {
    54         String permutation = getPermutation(3, 4);
    55         System.out.println(permutation);
    56     }
    57 
    58 }
  • 相关阅读:
    二级指针与二维数组
    Linux下常用命令
    winows下使用ssh服务远程登录vbox中的虚拟机
    Shell脚本获取C语言可执行程序返回值
    memcpy与memmove的区别
    常用软件
    书目
    顺序表C语言版
    限定符【const】用法大全
    极大极小搜索和α-β剪枝
  • 原文地址:https://www.cnblogs.com/zkycode/p/7019895.html
Copyright © 2011-2022 走看看