zoukankan      html  css  js  c++  java
  • 60. Permutation Sequence

    Base on next permutation:

    class Solution {
        public String getPermutation(int n, int k) {
            char[] arr=new char[n];
            for(int i=0;i<n;i++)
                arr[i]=(char)('1'+i);
            for(int i=1;i<k;i++)
                nextPermutation(arr);
            return new String(arr);
        }
        private void nextPermutation(char[] arr)
        {
            int idx=arr.length-1;
            while(idx>0&&arr[idx]<=arr[idx-1])
                idx--;
            if(idx==0)
                Arrays.sort(arr);
            else
            {
                int i=idx-1;
                int j=arr.length-1;
                while(arr[i]>=arr[j])
                    j--;
                char tmp=arr[i];
                arr[i]=arr[j];
                arr[j]=tmp;
                
                i=idx;
                j=arr.length-1;
                while(i<j)
                {
                    tmp=arr[i];
                    arr[i]=arr[j];
                    arr[j]=tmp;
                    i++;
                    j--;
                }
            }
        }
    }
    class Solution {
        public String getPermutation(int n, int k) {
            LinkedList<Integer> list=new LinkedList<Integer>();
            int fact=1;
            for(int i=1;i<=n;i++)
            {
                list.add(i);
                fact*=i;
            }
            
            StringBuilder sb=new StringBuilder();
            k=(k-1)%fact;
            while(n>0)
            {
                fact/=n;
                int idx=k/fact;
                sb.append(list.get(idx));
                list.remove(idx);
                k=k%fact;
                n--;
            }
            return sb.toString();
        }
    }
  • 相关阅读:
    Luogu P1962 斐波那契数列
    Luogu P2370 yyy2015c01的U盘
    Luogu P2678跳石头
    POJ3111 K Best
    表单内容相关操作
    框架集与框架.
    spring aop的使用
    sql查询的优化(六)
    mysql数据库视图(五)
    mysql数据库索引(四)
  • 原文地址:https://www.cnblogs.com/asuran/p/7594745.html
Copyright © 2011-2022 走看看