packagecom.heyang.p122345;importjava.util.HashSet;importjava.util.Set;/*** 用1、2、2、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列,如:512234、412345等,

* 要求:"4"不能在第三位,"3"与"5"不能相连。

* 说明: 以下为全排列做法

* 作者:heyang(heyang78@gmail.com)

* 创建时间:2010-6-22 上午12:46:37

* 修改时间:2010-6-22 上午12:46:37*/publicclassPermutation{//用于序号privatestaticintindex=1;//用于清除重复的数,因为有两个2的影响privatestaticSetset=newHashSet();publicstaticvoidmain(String[] args){

Integer[] arr02={1,2,2,3,4,5};//Integer[] arr02={1,2,2};permutation(arr02,0,arr02.length);

}/*** 排列函数

*

* 说明:

*@paramarr

*@paramstart

*@paramend

* 创建时间:2010-6-22 上午02:05:12

* 修改时间:2010-6-22 上午02:05:12*/publicstaticvoidpermutation(Integer[] arr,intstart,intend){if(start

permutation(arr,start+1,end);for(inti=start+1;i

Integer temp;

temp=arr[start];

arr[start]=arr[i];

arr[i]=temp;

permutation(arr,start+1,end);

temp=arr[i];

arr[i]=arr[start];

arr[start]=temp;

}

}else{

print(arr);

}

}/*** 打印函数

*

* 说明:

*@paramarr

* 创建时间:2010-6-22 上午02:05:27

* 修改时间:2010-6-22 上午02:05:27*/privatestaticvoidprint(Integer[] arr){//"4"不能在第三位if(arr[2]==4){return;

}

StringBuilder sb=newStringBuilder();for(inti=0;i

sb.append(arr[i]);

}

String word=sb.toString();//"3"与"5"不能相连if(word.contains("35")||word.contains("53")){return;

}//打印if(set.contains(word)==false){

System.out.println((index++)+""+word);

set.add(word);

}

}

}

图解全排列问题_一道笔试题(122345求有条件全排列)的两种做法相关推荐

  1. 一道笔试题(求质数乘积)

    前今天参加了场笔试里面有一道关于求质数乘积的题,当时虽说写完了程序但是总感觉有什么不对的地方所以今天写了一下,发现当时求质数的函数写的有些复杂,还是基础太差再加上长时间不写代码所致,由于我参加的笔试公 ...

  2. 给定一个数值,输出符合中国人习惯的读法--记一道笔试题

    题目:给定一个数字,最大小于一万亿,输出符合中国人习惯的读法,例如: a.12输出:十二 b.102输出:一百零二 c.1002输出:一千零二 d.112输出:一百十二 e.10112输出:一万零一百 ...

  3. 一道笔试题--求二进制数1的个数

    要进一家新公司难免要进行笔试,虽然笔试通过的人很多都有背题之嫌,但是统计意义上最起码可以看出一个程序员的认真程度,毕竟很多公司的考题也不是自己创的,也是在网上偷的,允许公司偷题就必须允许应聘者偷答案. ...

  4. C#在类型实例化时都干了什么:从一道笔试题说开去

    C#在类型实例化时都干了什么:从一道笔试题说开去 原文来自:http://www.cnblogs.com/instance/archive/2011/05/27/2059409.html 前一阵子我参 ...

  5. 从一道笔试题谈算法优化(下)

    因为受到经济危机的影响,我在 bokee.com 的博客可能随时出现无法访问的情况:因此将2005年到2006年间在 bokee.com 撰写的博客文章全部迁移到 csdn 博客中来,本文正是其中一篇 ...

  6. 从一道笔试题谈算法优化(上)

    因为受到经济危机的影响,我在 bokee.com 的博客可能随时出现无法访问的情况:因此将2005年到2006年间在 bokee.com 撰写的博客文章全部迁移到 csdn 博客中来,本文正是其中一篇 ...

  7. 去年,蚂蚁一面的一道笔试题,中等难度

    你好,我是 yes. 最近不是跳槽季嘛,今儿我就来分享一道我之前遇到的笔试题(上机写代码,这里统称笔试),这道题遇到的几率还是比较高的. 很多人可能准备去一波阿里或者其他大厂,而这些大厂面试过程一般都 ...

  8. h5 bootstrap 小程序模板_一道面试题小程序与H5的区别

    抛砖 此文是一道面试题,又不仅仅是一道面试题 面试题,在各个技术社区里都是一个永不落伍的话题,好像大多数人临面试前都会狂刷面试题,恨不得把所有面试题都看一遍,要说有用没,当然有用,因为大部分面试题确实 ...

  9. 90%的人都不会做的一道笔试题

    关注"Java后端技术全栈" 回复"面试"获取全套大厂面试资料 数组操作的题目,有的确实比较容易,但并非每个问题都是如此.今天就来看道90%的人都不会做的笔试题 ...

最新文章

  1. 使用wget在linux服务器上下载oracle软件
  2. 微软可能是全球最大的开源贡献者,但开发者似乎并不买账​​​​​​​
  3. 80%的企业社会化商务应用可能无法取得预期效果
  4. 操作系统 第二章【进程管理】【MOOC答案】
  5. Scala学习(二)--- 控制结构和函数
  6. mybatis学习(34):动态sql-choose
  7. linux 编译system.img,android生成sysytem.img的命令过程
  8. web导入excel数据
  9. 只能选择GridView中的一个CheckBox(单选CheckBox)
  10. 短信业务 ——HTTP接口文档
  11. maxdea如何计算指数_MaxDEA
  12. unity自动生成敌人_unity 2d AI 敌人 自动追踪(2)
  13. 试图加载格式不正确的程序。 (Exception from HRESULT: 0x8007000B)
  14. html语义化标签和无语义化标签
  15. 网管软件 LANDesk的配置(视频配截图)
  16. 2019xupt-acm校赛 题解(C.给你一个666)by出题组tongtong
  17. STM32F103 - 系统框架
  18. 小程序怎么把同名文件的前端数据(wxml)传送到后端(js)
  19. 【netcat学习】学习使用网络工具中的瑞士军刀——NetCat
  20. sql 查询 同一手机号的 姓名 相同 的所有学生的信息

热门文章

  1. xss_url通关_1-10
  2. HarmonyOS之深入解析图像的位图操作和属性解码
  3. iOS经典面试题之分析GCD的dispatch_group任务执行问题
  4. 834. Sum of Distances in Tree
  5. 7.Vue 列表渲染
  6. LeetCode Algorithm 101. Symmetric Tree
  7. 小姐姐教我的 sklearn 逻辑回归
  8. 【机器视觉】 elseif算子
  9. 【Qt】Qt手动布局
  10. 【STM32】FSMC概述