//冒泡排序,外循环控制轮数,内循环比较大小 for(int i=0;i<a.length-1;i++){ for(int j=0;j<a.length-i-1;j++){ if(a[j]>a[j+1]){ int temp=a[j]; a[j]=a[j+1]; a[j+1]=temp } } } for( int x=0;x<a.length;x++){ sysout(a[x]); } //递归1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34.... 0,1,2 ,3, 4, 5, 6, 7,8.... //让这个方法可以再调用自己 public static int rec(int a){ if(a==1||1==2){ return 1; }else{ return rec(a-1)+rec(a-2); } } 找出一组数中出现次数最多的数字 public static void main(String[] args) { Object array[]={1,2,3,4,7,14,13,12,11,5,6,23,12,12,13,13,13};//建立数组存放取出状态的时间 Set<Object> s = new HashSet<Object>();// HashSet用来去掉重复 for (Object o : array) { s.add(o); } // 现在的集合s中无重复的包含array中的所有元素 Object[] obj = s.toArray();// 把集合s中的元素存入数组obj2中 int[] n = new int[obj.length];// 这个数组用来存放每一个元素出现的次数 int max = 0; for (int i = 0; i < obj.length; i++) { int cout = 0; for (int j = 0; j < array.length; j++) { if (obj[i].equals(array[j])) cout++; // 用obj中的元素跟array中的每一个比较,如果相同cout自增 } n[i] = cout;// 每一个元素出现的次数存入数组n // 数组n的下标i跟数组obj的下标是一一对应的。 if (max < cout) {// 得到元素出现次数最多是多少次 max = cout; } } for (int i = 0; i < n.length; i++) { if (max == n[i]) { // 如果出现的次数等于最大次数,就输出对应数组obj中的元素 System.out.println("最多的数是"+obj[i]); } } }
常用简单算法
猜你喜欢
转载自654768009.iteye.com/blog/2308669
今日推荐
周排行