输出{1,2,2,3,4,5}排列组合,4不能在第三位,3和5不能相邻
来源:互联网 发布:arm linux gcc 安装 编辑:程序博客网 时间:2024/05/01 06:25
package com.hello;import java.util.HashSet;import java.util.Set;/* * @author 张春蕾 * 输出1,2,2,3,4,5的所有排列组合,4不能在第三位,3和5不能相邻 * 本题目的解决时我自己的思路,不知道最总结果是否正确,若不正确请谅解 * 不使用循环递归,忘了是哪个公司的笔试题了 */public class HelloJava{public static void main(String[] args){int[] a = {1,2,2,3,4,5};Set<String> set = getSet(a);for(String s: set){//循环遍历取出每个字符串进行判断if(s.indexOf('4') != 2){//4不能在第三位if(s.indexOf("35")==-1 && s.indexOf("53")==-1){//3和5不能相邻System.out.println(s);}}}}private static Set<String> getSet(int[] a) {Set<String> set = new HashSet<String>();String s = null;for(int i=0;i<a.length;i++){//循环遍历一次,取出每一个数做第一个数for(int j=0;j<a.length;j++){//在取下一个数做第二个数s = getSortString(a,i,j);set.add(s);//使用set容器可以自动对重复的数据进行过滤}}return set;}public static String getSortString(int[]a,int i,int j){String strFinal = "";if(i == j){//判断是否相等,若想等,则直接输出for(int k=0;k<a.length;k++){strFinal = strFinal + a[k];}}else{//若不想等,则进行交换int[] n = a;n[i]=n[i]^n[j];n[j]=n[i]^n[j];n[i]=n[i]^n[j];for(int k=0;k<a.length;k++){strFinal = strFinal +a[k];}}return strFinal;//返回最终字符串}}
输出结果为:
345122122345125234145223451322451232512423245123312245212345345212152234512234341252541223513422
- 输出1,2,2,3,4,5的所有排列组合,4不能在第三位,3和5不能相邻
- 输出1,2,2,3,4,5的所有排列组合,4不能在第三位,3和5不能相邻
- 输出1,2,2,3,4,5的所有排列组合,4不能在第三位,3和5不能相邻
- 输出1,2,2,3,4,5的所有排列组合,4不能在第三位,3和5不能相邻
- 输出1,2,2,3,4,5的所有排列组合,4不能在第三位,3和5不能相邻
- 输出{1,2,2,3,4,5}排列组合,4不能在第三位,3和5不能相邻
- 面试题:输出1,2,2,3,4,5的所有排列组合,4不能在第三位,3和5不能相邻
- 输出1,2,2,3,4,5的所有排列组合,4不能在第3位,3和5不能相邻
- 有1,2,2,3,4,5六个数,要求输出他们组合的全排列,4不能在第三位,5和3不能相邻
- 【2015/10/13】打印1,2,2,3,4,5六个数的组合,4不在第三位,3和5不能相邻
- "4"不能在第三位,"3"与"5"不能相连。
- java面试题 用1,2,2,3,4,5六个数字,组成一个6位数。 第三位数不能是2;3和5不能相邻。
- 用1,2,3,4,5组成不重复5位数,4不能在第三位,3与5不能相连(最简单的办法)
- 用 1,2,2,3,4,5 六个数字,打印出所有不同的排列,要求:"4"不能在第三位,"3"与"5"不能相连
- 140 打印出所有不同的排列 4不能在第三位,3与5不能相连
- java练习:打印 数字1、2、3、4的组合,不能以4开头,1和3不能相邻,且数字不能重复
- 122345这6个数字,输出它所有可能的组合;要求4不能在第3位,3和5不能相连。
- 编程:用java 语言实现,输入一个数,就相应地输出的几维数组!||用1、2、2、3、4、5这六个数字,用java写一个函数,打印出所有不同的排列,要求:"4"不能在第三位,"3"与"5"不能相连
- Eclipse安装ADT Plugin时发生错误,提示连接不到 https://dl-ssl.google.com/android/eclipse/...的解决办法
- vsftpd 安装
- 通向架构师的道路(第二十七天)IBM网格计算与企业批处理任务架构
- Launching executable with NSTask - Sandboxing problems?
- jQuery对象与dom对象相互转换
- 输出{1,2,2,3,4,5}排列组合,4不能在第三位,3和5不能相邻
- 从今天起
- 用户安全角色权限不够的解决方法
- Java通过年月,计算月份天数。
- struts2 18拦截器详解(一) --- 准备知识
- Entity Framework 5.0系列之Code First数据库迁移
- MySQL中REPLACE INTO语句的用法
- .net版ueditor在Repeater中动态生成
- hdu Yet another end of the world(扩展欧几里得定理推论)