• leetcode -- Permutation Sequence


    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.

     1 public class Solution {
     2     public String getPermutation(int n, int k) {
     3         // Start typing your Java solution below
     4         // DO NOT write main() function
     5         int[] num = new int[n];
     6         int count = 1;
     7         for(int i = 0; i < n; i++){
     8             num[i] = i + 1;
     9             count *= (i+1);
    10         }
    11         k--;
    12         StringBuilder sb = new StringBuilder();
    13         for(int i = 0; i < n; i++){
    14             count /= n - i;
    15             int selected = k / count;
    16             k = k % count;
    17             //count = count / (n - i - 1);
    18             
    19             sb.append(num[selected]);
    20             for(int j = selected + 1; j < n; j++){
    21                 num[j - 1] = num[j];
    22             }
    23         }
    24         return sb.toString();
    25     }
    26 }
  • 相关阅读:
    视图
    Mysql事务
    子查询
    Mysql连表查询
    Mysql增删改查
    Mysql数据类型
    EntityFramwork 查询
    Git
    EntityFramework走马观花之CRUD(下)
    EntityFramework走马观花之CRUD(中)
  • 原文地址:https://www.cnblogs.com/feiling/p/3251230.html
Copyright © 2020-2023  润新知