月眸


几个问题

毛毛小妖 2019-05-22 284浏览 2条评论
首页/ 正文
分享到: / / / /

1、定义一个hash表

2、找出100以内的素数(素数是指除了1和他本身没有别的因子了)

public static void printSushu(int n){
	for(int i=2;i<n;i++){
		int count =0;
		for(int j=2;j<=i;j++){
			if(i%j==0){
				count ++;
			}
		}
		if(count==1){
			count = 0;
			System.out.print(i+" ");
		}
	}
}

3、计算整数转为二进制之后1的个数

public class Ten2Two {
	private static String str = "";
	public static void convert(int x){
		int a = x/2;
		int b = x%2;
		str += b+" ";
		if(a!=0){
			convert(a);
		}
	}
	
	public static void main(String[] args) {
		convert(15);
		System.out.println(str);
		int count = 0;
		String[] arr = str.split(" ");
		for(int i=0;i<arr.length;i++){
			if("1".equals(arr[i])){
				count++;
			}
		}
		System.out.println(count);
	}
}

4、快速排序算法

public static void quickSort(int[] a,int left,int right){
	int i,j,temp,t;
	if(left > right)
		return;
	temp = a[left];
	i=left;
	j=right;
	while(i!=j){
		while(a[j]>=temp && i<j){
			j--;
		}
		while(a[i]<=temp && i<j){
			i++;
		}
		if(i<j){
			t=a[i];
			a[i]=a[j];
			a[j]=t;
		}
	}
	a[left]=a[i];
	a[i]=temp;
	quickSort(a,left,i-1);
	quickSort(a,i+1,right);
}

5、小明爬台阶,一次只能爬1个、2个或3个。问爬完20个台阶总共有几种方法?

public static int stairs(int n){
	if(n==0){
		return 1;
	}else if(n==1 || n==2){
		return n;
	}else{
		return stairs(n-1)+stairs(n-2)+stairs(n-3);
	}
}

 

最后修改:2019-05-22 11:26:27 © 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

上一篇

发表评论

评论列表

本王非王 2019-05-23 14:15:17
我喜欢那个排序
回复