`

字符串排列组合

阅读更多
public class Zuhe {
public static void main(String[] args) {
  String s = "122345";//这里是要用到的所有数组成的一个字符串,其它字符同样适用
  char[] c = s.toCharArray();
  new Zuhe().zuhe(c,c.length,0);
  System.out.println("可能的组合数:"+kk);
}
static int kk=0;
private void zuhe(char[] array, int n, int k) {
  if (n == k) {
   if(array[2]!='4'){//第三个位置不能出现4
    String str = new String(array);
    if(str.indexOf("53")<0&&str.indexOf("35")<0){//3,5不能连续出现
     System.out.println(str);
     ++kk;
    }
   }
  } else {
   for (int i = k; i < n; i++) {
    swap(array, k, i);
    zuhe(array, n, k + 1);
    swap(array, i, k);
   }
  }
}

private void swap(char[] a, int x, int y) {
  char temp = a[x];
  a[x] = a[y];
  a[y] = temp;
}
}
分享到:
评论

相关推荐

    列出字符串的全部排列组合

    从给定的代码片段来看,该程序旨在生成一个字符串的所有可能排列组合,但代码实现上存在一些问题,例如,函数命名、逻辑结构以及对内存管理的处理方式等,都偏离了标准的C语言编程实践。下面,我们将深入解析标题、...

    PHP多个字符串排列组合的算法,组二,组三

    在PHP编程语言中,处理字符串的排列组合是常见的任务,特别是在数据分析、彩票系统或其他需要生成所有可能结果的场景中。本篇文章将详细讲解如何利用PHP实现字符串的组合算法,特别是针对“组二”和“组三”的组合...

    java实现字符串排列组合问题

    Java 实现字符串排列组合问题 Java 是一门广泛应用于软件开发的编程语言,字符串操作是其最基本也是最重要的功能之一。在实际开发中,字符串排列组合问题是非常常见的,例如输入一个字符串,要求输出该字符串中...

    Java实现abc字符串排列组合

    "Java实现abc字符串排列组合" 本文将详细介绍Java实现abc字符串的排列组合,主要包括可重复排列、全排列和组合三个部分。 可重复排列 在Java中,可以使用递归来实现abc字符串的可重复排列。可重复排列是指从abc三...

    Java排列组合字符串的方法

    Java 排列组合字符串是一种常见的编程问题,旨在生成所有可能的字符串排列组合。下面我们将详细介绍 Java 排列组合字符串的方法。 什么是排列组合 排列组合是一种数学概念,指的是从一个集合中选择部分元素,并将...

    C#查找字符串所有排列组合的方法

    在C#编程中,查找字符串的所有排列组合是一个常见的任务,特别...总之,C#中的字符串排列组合可以通过递归算法有效地实现,这种方法适用于处理各种字符串排列问题。理解并掌握这种算法对于进行C#程序设计是非常有益的。

    字符串面试题整理

    4. **字符串排列组合问题**: - 问题1:字符串的全排列,可以通过回溯算法实现,每次选择未使用的字符并递归到下一层。 - 问题2:字符串的组合,可以使用递归或者动态规划。递归方法中,每次可以选择使用当前字符...

    输入一个字符串,输出所有该字符串的组合情况

    标题 "输入一个字符串,输出所有该字符串的组合情况" 涉及的主要知识点是字符串处理和算法,特别是组合和排列的生成。在这个问题中,我们需要编写程序来生成一个给定字符串的所有可能的子序列或子字符串,这通常涉及...

    Backtracking:求解迷宫以及字符串排列组合

    字符串排列组合问题则是寻找给定字符集的所有可能排列。例如,对于字符集"abc",可能的排列有"abc"、"acb"、"bac"、"bca"、"cab"和"cba"。这个问题可以通过回溯法来解决,我们从第一个字符开始,依次尝试所有可能的...

    字符串排列问题,不含重复

    在IT领域,字符串排列问题是一个经典的算法问题,它涉及到组合数学和计算机科学中的排序与搜索。本问题的核心是求解一个字符串中不重复字符的所有可能排列,并计算这些排列的总数。这个问题可以使用C++这样的编程...

    C++字符串的全部排列

    以下是使用回溯法实现C++字符串排列的伪代码: ```cpp void permute(string str, int start) { if (start == str.size()) { // 打印或处理排列 cout ; return; } for (int i = start; i (); i++) { swap...

    JavaScript应用实例-字符串所有排列组合.js

    JavaScript应用实例-字符串所有排列组合.js

    输出一个字符串的所有排列

    在编程领域,字符串排列是一个经典的算法问题,主要涉及到字符串处理和递归技术。字符串的所有排列是指将一个字符串中的字符按照不同的顺序重新组合,形成所有可能的字符串。这个问题通常用于考察程序员对递归的理解...

    VB源码字符排列组合.pdf

    这个VB程序的主要目的是生成给定字符串的所有可能排列组合,并在RichTextBox1中显示结果。它通过递归地拆分字符串并重新组合来实现这一目标,同时提供了一个用户界面供用户输入字符串并查看执行进度。

    截取特定部分字符串

    5. **标签中的“排列”**:这可能指的是对截取的子字符串进行排序。在Java中,我们可以使用`Arrays.sort()`方法对字符串数组进行排序,或者使用`Collections.sort()`方法对`List&lt;String&gt;`进行排序。对于单个字符串,...

    python编程题:字符串的(所有可能的)排列组合.docx

    字符串的排列组合问题是计算机科学中的一个经典问题,它不仅在算法设计上占有重要地位,还是许多软件开发场景中的实际需求。本文将探讨如何使用Python编程语言,特别是利用递归技术,来找出一个字符串中所有可能的...

    排列组合java方法(支持字符串、字符串数组,可直接执行)

    最近在做项目的时候,要用到排列组合的方法。于是用java实现后,将其进行了总结。...输出,可以得到所有是字符排列/组合情况,或者所有的字符串排列/组合情况。 另外,输出也根据字符串长度进行了排序,可以直接使用~

    Golang排列组合算法问题之全排列实现方法

    10),范围为1到9,数字之间用空格分割,字符串首位不包含空格。 输出: 输出以字典序排序的火车出站序列号,每个编号以空格隔开,每个输出序列换行。 样例输入: 1 2 3 样例输出: 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 ...

Global site tag (gtag.js) - Google Analytics