`

12345这五个数,打印出它所有的组合。4不能在中间,3和5不能挨着(实现二)

阅读更多
public class TestNumber {

/**
*
* @param args
*/

public static List list = new ArrayList();

public static void main(String[] args) {
group("", "12345");
System.out.println(list.size());
}

public static void group(String str, String nstr) {
if (str.length() != nstr.length()) {
String rest = getRest(str, nstr);
for (int i = 0; i < rest.length(); i++) {
String temp = str + rest.substring(i, i + 1);
if (temp.indexOf("4") != 2 && temp.indexOf("35") == -1
&& temp.indexOf("53") == -1) {// 过滤显示条件,如果去掉此处的判断,就是列出所有字符集的排列组合
if (temp.length() > 4) {
System.out.println(temp);
if (!list.contains(temp)) {
list.add(temp);
}
}

group(temp, nstr);
}
}
}
}

public static String getRest(String str, String nstr) {
String rest = "";
if (nstr.length() > str.length()) {
rest = nstr;
for (int i = 0; i < str.length(); i++) {
rest = rest.replaceFirst(str.substring(i, i + 1), "");// 注意此处的replaceFirst,而不是replaceAll
}
}
return rest;
}

}
分享到:
评论

相关推荐

    java多线程每个线程挨着打印ABC的4种实现方式

    java多线程每个线程挨着打印ABC的4种实现方式,有4个线程t1、t2、t3、t4,t1打印A后t2打印A再t3打印A再t4打印A,然后从新回到t1打印B再t2打印B...t4打印B... 4个线程轮流打印abc... 一个线程可以理解为一个人,打印...

    练习P20入门版答案

    A,B,C,D,E五个人合伙夜间捕鱼,凌晨时都疲惫不堪,各自在河边的树丛中找地 方睡着了,日上三竿,E第一个醒来,他将鱼数了数,平分成五分,把多余的一条扔进河中, 拿走一份回家去了,D第二个醒来,他并不知道有...

    pascal循环结构练习题

    A、B、C、D、E 五个人合伙夜间捕鱼,凌晨时都疲惫不堪,各自在河边的树丛中找到地方睡着了,日上三竿,E 第一个醒来,他将鱼数了数,平分成五分,把多余的一条扔进河中,拿走一份回家去了,D 第二个醒来,他并不知道...

    二年级数学下册第四单元万以内数的认识4.5练习四课时练北京版202003172100

    掌握这一知识点,学生就能正确地读出和写出万以内的任意数,并理解每个数位上的数字代表的意义。 其次,数的顺序是数的认识中极其重要的部分。学生需要认识到数是有顺序的,它们是连续排列的。如5000这个数,它前面...

    人教二年级数学下册以内数的认识PPT学习教案.pptx

    7. **数的组成**:学习数的组成,理解每个数是由多少个不同的计数单位组成的,例如2356由2个千、3个百、5个十和6个一组成。 8. **数的连续计数**:练习一个一个地数数,例如从9976数到10000,以巩固学生的数数技能...

    scrollView滑动,实现使用3张图片浏览全部的图片,对scrollView的优化

    在本场景中,我们关注的是如何利用ScrollView来实现一个图片浏览的功能,特别是如何通过只显示3张图片来浏览全部图片,同时对ScrollView进行优化以提高性能。 首先,ScrollView的工作原理是通过视图的滚动来加载或...

    2进制数txt文件

    在二进制系统中,每一位的值都是2的幂次方,从右向左依次递增,例如,最右边的一位是2^0(即1),紧挨着它左边的一位是2^1(即2),再左边的一位是2^2(即4),以此类推。 ### 二进制数的表示与计算 在计算机科学...

    一年级数学下册第三单元100以内数的认识3.1数100以内的数课时练冀教版

    在这个过程中,他们不仅要学会数100以内的整数,还要能理解和应用这些数字。 1. **数100以内的数** 学习数数是数学的基础,100以内的数包括了0到100的所有整数。学生需要能够从1开始,按照顺序依次数到100,同时也...

    新版人教版五年级数学上册期中考试题(附答案).pdf

    4. **3的倍数特征**:0、5、9中任选两个数字组成的数中,是3的倍数的有0和5(50),0和9(90),同时是2、3、5的倍数的数必须以0结尾,且所有数字相加的和能被3整除,所以是90。 5. **单价计算**:用148.8元买了12...

    人教部编版五年级数学上册期中考试题及答案【精品】.pdf

    这个期中考试题覆盖了小学五年级数学的多个重要知识点,包括但不限于质数与合数的概念、单位转换、小数乘法、分数的基本性质、几何图形的理解、代数运算、概率问题、方向判断、体积计算、解方程、空间想象和应用题的...

    二年级数学下册第十一单元总复习11.1万以内数的认识课时练北京版20200317289

    在小学数学教育中,二年级学生开始接触到万以内数的认识,这是培养学生数感和基本数学运算能力的重要一环。北京版的数学教材在这一块内容上尤为注重基础知识的构建和应用,而我们今天要讨论的这份资料——“二年级...

    2020春七年级数学下册第十四章位置与坐标14.1用有序数对表示位置同步练习无答案新版青岛版202106171163

    例如,(3,5)表示第3行第5列,(1,3)和(3,1)不表示同一个点,(2,2)和(2,3)之间的距离是1个单位等。 综上所述,这个练习帮助学生理解和应用有序数对来表示二维平面上的位置,是数学中的基础概念,对于理解更复杂...

    C语言二维数组的定义、初始化、赋值.pdf

    二维数组可以看作是一个Excel表格,有行有列,`length1`表示行数,`length2`表示列数,要在二维数组中定位某个元素,必须同时指明行和列。例如:`a[2][1];`表示第2行第1列的元素。 三、二维数组的存储 二维数组在...

    最新二年级上册数学应用题解答问题练习题(附答案)(1).doc

    23. 全家福的排列问题,由于佩奇和乔治要挨着站在中间,所以总共有2 × 2 × 2 = 8种不同的站法。 24. 电线长度的问题,72米减去两次用掉的长度,即72 - 19 - 34 = 19米。 25. 正方形四周植树,每边6棵,四个角各...

    visual c++ vc在窗口标题栏上添加自己的按钮.挨着最小化按钮

    综上所述,实现这个功能需要深入理解Windows API,掌握窗口和控件的创建、布局、样式设置以及消息处理机制。通过结合`CreateWindowEx()`, `SetWindowLong()`, `GetSystemMenu()`, `GetMenuItemRect()`, `...

    腾讯 研发工程师笔试真题

    爸爸去哪儿中的3对父子站成一排,各自父子之间不能相邻,比如石头不能和郭涛挨着,以此类推,共有几种站法?** - **解析:** - 这是一道典型的排列组合问题。对于三对父子,我们需要计算在约束条件下(即每个父亲...

    课件找规律课件找规律

    接着,学生被引导进行更复杂的操作,如每次框出3、4、5个数,计算可以得到的不同和,并通过平移的方法寻找答案。这种方法涉及到序列的滑动和模式识别,对于培养学生的抽象思维和模式识别能力大有裨益。通过观察表格...

    (3.3.2)--扩展阅读:组合选择器1

    与相邻兄弟选择器不同,它匹配的是所有在A元素之后的B元素,它们都属于同一个父元素,但并不一定要紧挨着A元素。例如,`img ~ p`会选择所有在`&lt;img&gt;`元素之后的`&lt;p&gt;`元素,无论它们之间有多少其他元素。 理解并熟练...

    等你的回答钢琴曲谱数字简谱钢琴曲谱.pdf

    简谱使用阿拉伯数字1、2、3、4、5、6、7代表七个基本音阶,即“do、re、mi、fa、sol、la、si”。在简谱中,音符上方的点表示高一个八度,下方的点表示低一个八度。当两个音符紧挨着时,不加点表示同一个八度。在钢琴...

    五年级上册位置复习PPT学习教案.pptx

    在小学五年级的数学学习中,位置的概念是孩子们必须掌握的一个基础知识点。特别是在平面内确定物体位置的方法,比如通过方向与距离以及数对的应用,都是极为重要的数学工具。这不仅对孩子们解决实际问题大有裨益,还...

Global site tag (gtag.js) - Google Analytics