当前位置: 首页 > 面试题库 >

java如何生成给定字符串的所有排列?

祁兴运
2023-03-14
问题内容

java如何生成给定字符串的所有排列?


问题答案:
public static void permutation(String str) { 
    permutation("", str); 
}

private static void permutation(String prefix, String str) {
    int n = str.length();
    if (n == 0) System.out.println(prefix);
    else {
        for (int i = 0; i < n; i++)
            permutation(prefix + str.charAt(i), str.substring(0, i) + str.substring(i+1, n));
    }
}


 类似资料:
  • 问题内容: 找到字符串的所有排列的一种优雅方法是什么。例如,的排列会是和,但是较长的字符串呢?有任何实现示例吗? 问题答案:

  • 本文向大家介绍打印给定字符串的所有排列,包括了打印给定字符串的所有排列的使用技巧和注意事项,需要的朋友参考一下 打印给定字符串的所有排列是回溯问题的一个示例。我们将减小子字符串的大小以解决子问题,然后再次回溯以从该部分获得另一个排列。 例如,如果字符串是ABC,则所有排列将是ABC,ACB,BAC,BCA,CAB,CBA。 该算法的复杂度为O(n!)。这是一个巨大的复杂性。当字符串大小增加时,需要

  • 我很难想出一个代表以下JSON的类。“家庭关系”是一组数组。每个数组都有person1和person2标识符,以及person1和person2之间的关系。正如您可能已经猜到的,数组中值的顺序非常重要。例如,如果“12345”和“31142”位置切换,则表示“31142”是“12345”的父项,这是完全错误的。

  • 问题内容: 我有绳子。我想通过更改字符串中的字符顺序来从该字符串生成所有排列。例如,说: 我想要的是这样的清单, 目前,我正在迭代字符串的列表强制转换,随机选择2个字母并将它们换位以形成新的字符串,然后将其添加到设置的l强制转换中。根据字符串的长度,我正在计算可能的排列数量,并继续迭代直到集合大小达到极限。必须有更好的方法来做到这一点。 问题答案: itertools模块具有一个有用的方法,称为p

  • 问题内容: 我在网上找到了一个链接,该链接显示了一种算法来生成字符串的所有组合:http : //www.mytechinterviews.com/combinations-of-a- string 算法复制如下。 我不明白的是这行: 如果我删除此行,则该程序显然不再起作用,但是为什么首先需要这样做?我了解递归的想法,在这个想法中,我们改变了初始字符,然后对其余字符进行了递归,但是deleteCh

  • 本文向大家介绍生成随机字符串,直到使用Python生成给定字符串为止,包括了生成随机字符串,直到使用Python生成给定字符串为止的使用技巧和注意事项,需要的朋友参考一下 给定一个字符串,我们的任务是使用字符,特殊字符,数字等的随机组合生成一些字符串。 示例 算法 范例程式码 输出结果