题目:用1、2、2、3、4、5这6个数字组成一个序列,列出所有可能出现的顺序。
要求:
1. 数字4不能位于第三位
2. 3和5不能连在一起
今天上网看到一个好的解决思路,整理如下:
代码:
public class Test{ static int[] in={1,2,2,3,4,5}; public static void main(Strin[] args){ for(int i = 122345;i<=543221;i++){ String string = String.valueOf(i); if(checkOne(string) && checkTwo(string) && checkThree(string) && checkFour(string)){ System.out.println(string); } } } /** * 不包含0,6,7,8,9 * @author zkf * @createTime 2013-7-20 * @param str * @return boolean */ public static boolean checkOne(String str){ Pattern p = Pattern.compile("[0[6-9]]"); Matcher matcher = p.matcher(str); matcher.matches(); if(matcher.find()){ return false; } return true; } /** * 必须是1,2,2,3,4,5六个数 * @author zkf * @createTime 2013-7-20 * @param str * @return boolean */ public static boolean checkTwo(String str){ for (int i = 0; i < in.length; i++) { if(!str.contains(String.valueOf(in[i]))){ return false; } } if(str.indexOf("2") == str.lastIndexOf("2")){ return false; } return true; } /** *4不能位于第3位 * @author zkf * @createTime 2013-7-20 * @param str * @return boolean */ public static boolean checkThree(String str){ if(str.indexOf("4") == 2){ return false; } return true; } /** *35不能相连 * @author zhangkefei * @createTime 2013-7-20 * @param str * @return boolean */ public static boolean checkFour(String str){ if(Math.abs(str.indexOf("3")-str.indexOf("5")) == 1){ return false; } return true; } }
相关推荐
第3章 Java常用算法 3.1递归算法 3.2冒泡排序算法 3.3 快速排序算法 3.4选择排序算法 3.5直接插入算法 3.6希尔排序算法 3.7 二分查找算法 3.8 二叉树 3.9 图的实现 3.10 生产者消费者的实现 3.11 银行家算法 3.12 ...
11、有数组a[n],用java代码将数组元素顺序颠倒 80 12.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。 81 三. html&JavaScript&ajax部分 82 1. 判断第二个日期比第一...
11、有数组a[n],用java代码将数组元素顺序颠倒 80 12.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。 81 三. html&JavaScript&ajax部分 82 1. 判断第二个日期比第一...
11、有数组a[n],用java代码将数组元素顺序颠倒 80 12.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。 81 三. html&JavaScript;&ajax;部分 82 1. 判断第二个日期比第...
11、有数组a[n],用java代码将数组元素顺序颠倒 80 12.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。 81 三. html&JavaScript&ajax部分 82 1. 判断第二个日期比第一...
11、有数组a[n],用java代码将数组元素顺序颠倒 87 12.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。 88 三. html&JavaScript;&ajax;部分 89 1. 判断第二个日期比第...
11、有数组a[n],用java代码将数组元素顺序颠倒 80 12.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。 81 三. html&JavaScript&ajax部分 82 1. 判断第二个日期比第一...
11、有数组a[n],用java代码将数组元素顺序颠倒 80 12.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。 81 三. html&JavaScript&ajax部分 82 1. 判断第二个日期比第一...
11、有数组a[n],用java代码将数组元素顺序颠倒 80 12.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。 81 三. html&JavaScript;&ajax;部分 82 1. 判断第二个日期比第...
11、有数组a[n],用java代码将数组元素顺序颠倒 80 12.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。 81 三. html&JavaScript;&ajax;部分 82 1. 判断第二个日期...
使用比较器和可比函数显示投资者的投资组合字母顺序或数字顺序 投资组合包括股票和资金。 Python专案: 宠物小精灵(个人) 模拟口袋妖怪游戏的程序。 主要设置游戏:通过提示用户输入信息,使用牌组作为堆,使用...
Java开发技术大全 电子版 第1篇Java基础知识入门. 第1章Java的开发运行环境2 1.1Java的运行环境与虚拟机2 1.2Java的开发环境4 1.2.1JDK的安装4 1.2.2如何设置系统环境变量6 1.2.3编译命令的使用8 1.2.4解释...
该src/main/java目录下,以文件夹命名,表示的是不同的来源 每个文件均可单独运行 其他IDEA克隆项目时,注意配置IDEA,gradle,jdk等,保证项目正常运行 Git仓库: 排序算法总结 面试编程题... 剑指Offer编程题目录 ...
16、下面的代码有什么不妥之处? ............................................................................... 14 17、请说出作用域 public,private,protected,以及不写时的区别 ...........................
数据库操作支持库增加读写长整数字段的功能,但受限于系统接口暂不能读写超出整数范围的数值。 7. 修改高级表格支持库,通过鼠标调整行高列宽时不改变当前光标行列号。 8. 修改BUG:在IDE中打开源代码文件(.e)后...