一个字符串题目,高手请进

来源:百度知道 编辑:UC知道 时间:2024/06/24 23:50:46
1.字符串产生问题
(1)请写一个程序,产生由A,B,C,D,E这5个符号所构成、长度为n的所有满足下列条件的字符串:在字符串中对任何一个部分字符串而言,都不会有相邻的、完全相同的部分字符串。
(2)当给定的符号数不限定在5个符号,而可以是任意多个符号时,请编写出相对应的通用程序(如果字符串过长或过多,可只计算满足条件的字符串数)。
(3)试分析在5个字符情况下,要产生满足第(1)问条件的字符串,n有什么限制。
说明:比如出现字符串EBAA,这不符合要求,因为A与A相邻且相同;又比如出现字符串EABAB,这也不符合要求,因为AB与AB相邻且相同;诸如此类都是不符合要求的字符串。

import java.util.Calendar;

public class Wenti {

static int MAX_LENTH=13;
static int count=0;
static int[] maxInts=null;
static int maxIntsLength=0;
static int[] indexs1= null;
static int indexs1Length=0;
static int indexs2Length1=0;
static int indexs2Length2=0;
static int[][] indexsMap=null;
public static void main(String[] a){
Calendar cal=Calendar.getInstance();
System.out.println(cal.get(Calendar.MINUTE)+":"+cal.get(Calendar.SECOND)+"."+cal.get(Calendar.MILLISECOND));
//初始化相关参数
init(5,12);
//执行
run();
System.out.println("count:"+count);
cal=Calendar.getInstance();
System.out.println(cal.get(Calendar.MINUTE)+":"+cal.get(Calendar.SECOND)+"."+cal.get(Calendar.MILLISECOND));
// doTest();
}

/**
* 初始化
* @param size 一共几个字符
* @param maxLength 组合的长度的最大