【问题标题】:Find permutation of string of length k [duplicate]查找长度为 k 的字符串的排列 [重复]
【发布时间】:2016-05-06 15:28:00
【问题描述】:

我想生成给定长度 k 的字符串的排列。下面是代码。

public class PermString {
    private static void swap(char[] a, int i, int j){
        char temp = a[i];
        a[i] = a[j];
        a[j] = temp;
    }
    private static void permute(char[] a, int n){
        if(n ==1){
            System.out.println(a);
        }
        for(int i=0; i<n ; i++){
            swap(a, i, n-1);
            permute(a, n-1);
            swap(a, i, n-1);
        }
    }
    public static void main(String[] args) {
        String str = "ABCCCD";
        char[] characters = str.toCharArray();
        permute(characters, characters.length);
    }
}

它正确生成字符串的排列,我想知道如何编码固定大小长度的条件,比如k。

【问题讨论】:

    标签: algorithm data-structures permutation


    【解决方案1】:

    您只需要添加另一个计算所有大小 K 组合的函数 --- 假设您将其命名为

    combGen(char[], int K)

    对于每个生成的组合——使用现有代码计算所有排列。

    他们会有解决方案。已经有一个生成组合的现有实现,您可以将其作为reference

    【讨论】:

      猜你喜欢
      • 2021-07-24
      • 2018-10-14
      • 2012-08-07
      • 1970-01-01
      • 2011-08-25
      • 2020-11-08
      • 2016-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多