常用简单算法

 //冒泡排序,外循环控制轮数,内循环比较大小
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