`
liyuandong
  • 浏览: 328697 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用1、2、2、3、4、5这六个数字,数字排序经典算法

阅读更多

关键字:用1、2、2、3、4、5这六个数字,数字排序经典算法


public class Numarray {
/**
用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,
如:512234、412345等,要求: "4 "不能在第三位, "3 "与 "5 "不能相连.
*/
public static void main(String[] a){
long start;
System.out.println("结果是:");
int count = 0 ;

for(start=122345;start <=543221;start++){
String s = String.valueOf(start);
if(Validate(s))
{
if((s.indexOf("35")==-1)&&(s.indexOf("53")==-1)&&(s.charAt(2)!='4')){
System.out.println(s);
count++;
}
}
}

System.out.println("最后结果共"+count);
}

public static boolean Validate(String l)
{
int[] a = new int[]{0,0,0,0,0};
for(int i=0;i <6;i++)
{ if(l.charAt(i)=='1')
a[0]++;
if(l.charAt(i)=='2')
a[1]++;
if(l.charAt(i)=='3')
a[2]++;
if(l.charAt(i)=='4')
a[3]++;
if(l.charAt(i)=='5')
a[4]++;
}
if(a[0]==1&&a[1]==2&&a[2]==1&&a[3]==1&&a[4]==1)
return true;
else
return false;
}
}
分享到:
评论

相关推荐

    排序算法_随机生成1000个数字_用排序算法排序并比较算法的赋值次数_

    。随机生成1000个数字。用各种排序算法的分别进行排序。并统计算法赋值的次数

    基于Qt5-实现九大排序算法的代码汇总

    本项目用C++中实现了冒泡排序、插入排序、堆排序、希尔排序、归并排序、基数排序、选择排序、桶排序、快速排序

    数字排序算法

    数字排序算法

    C++大作业 排序算法集合

    保存到a.txt文件中,再读取到内存中并分别用简单选择排序、冒泡排序、快速排序、希尔排序、归并排序、堆排序算法进行排序,显示排序过的数列的第1、10、100、1000、10000的具体数字和每个排序算法使用的排序时间,...

    VB排序算法源码,支持倒序顺序字符排序数字排序2

    VB排序算法源码,支持倒序顺序字符排序数字排序2

    java基础 经典算法之冒泡排序详解

    2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是array.length-1,但是写array.length代码也没有问题,比如5个数字在第4趟都已经排好了,再进行第5趟排序,也不会...

    冒泡排序-排序过程 冒泡排序-排序过程

    比如用冒泡排序将4、5、7、1、2、3这6个数排序。在该列中,第二趟排序结束后,数组已排好序,但计算机此时并不知道已经反排好序,计算机还需要进行一趟比较,如果这一趟比较,未发生任何数据交换,则知道已排序好,...

    排序算法代码

    选择排序、冒泡排序、合并排序、快速排序、插入排序算法

    java 常见排序算法的实现 包括二叉树

    java 常见排序算法的实现 有冒泡、选择、快速、比较等常见的排序算法 还包括二叉树的实现

    冒泡排序MFC实现

    使用MFC设计了一个冒泡排序算法。 1、在编辑框中输入要排序的数字,用空格隔开 2、点击“排序"后,排序结果便可输出。

    C#,单向链表(Simply Linked List)的插入排序(Insertion Sort)算法与源代码

    假设我们输入的是 “5,1,4,2,3” 我们从第二个数字开始,这个数字是1,我们的任务只要看看1有没有正确的位置,我们的做法是和这个数字左边的数字来比,因此我们比较1和5,1比5小,所以我们就交换1和5,原来的...

    冒泡排序 算法(冒泡,选择,插入,数组排序)

    算法(冒泡,选择,插入,数组排序) package Teacher; import java.io.*; import java.util.Scanner; public class Tset { public static void main(String args[]) throws IOException { // 需要排序的数组,...

    c++实现12个排序算法以及时间比较

    c++实现12个排序算法以及时间比较,数据随机生成1000个数字排序

    ACM拓扑排序

    假设给我们一个任意的图,它可能是也可能不是DAG(有向无圈图),推广拓扑排序算法,以使得给定有向图G的输入,它的输出是以下两者之一: (a) 一个拓扑排序,于是确定了G为DAG; 或者 (b) G中的一个圈,于是确定了G...

    易语言冒泡排序算法

    易语言冒泡排序算法

    排序算法包

    利用C++实现了常用的排序算法,包括:冒泡排序、插入排序、选择排序、归并排序、快速排序、0-交换排序。利用简单的数字序列排序为例,希望能帮助对以上算法有更深理解。

    分治算法实现快速排序

    用分治算法的思想,加上递归 实现快速排序

    数据结构排序算法介绍

    数字排序法:通常来说有五大类方法:插入排序(直接插入排序、希尔排序等)、交换排序(冒泡排序、快速排序)、选择排序(简单选择排序、树形选择排序、堆排序)、归并排序、基数排序

    排序、树、图、数值算法UI

    1、排序: 插入排序 合并排序 堆排序 快速排序 2、树算法 红黑树 B树 3、图算法 深度优先周游 广度优先周游 队列拓扑排序 深度优先搜索拓扑 单源最短路径 每对顶点最短距离 最小支撑树PRIM 最小支撑树KRUSKAL 3、...

    关于冒泡排序的完整代码

    冒泡排序,是指计算机的一种排序方法,它的时间复杂度为O(n^2),虽然不及堆排序、快速排序的O(nlogn,底数为2),但是有两个优点:1.“编程复杂度”很低,很容易写出代码;2.具有稳定性,这里的稳定性是指原序列...

Global site tag (gtag.js) - Google Analytics