求两个有序数组的公共部分

1. 哈希算法

public static void commonOfTwoArrs(int [] A,int [] B) {
		
		for(int i = 0; i < A.length; i++)
			common.add(A[i]);
		
		for(int i = 0; i < B.length; i++){
			if(common.contains(B[i]))
				System.out.println(B[i]);
		}
	}

2. 双指针算法

public static void commonOfTwoArrs(int [] a,int [] b) {
		int i = 0;
		int j = 0;
		
		while(i < a.length && j < b.length) {
			if(a[i] < b[j])
				i++;
			else if(a[i] > b[j])
				j++;
			else {
				System.out.println(a[i] + '\t');
				i++;
				j++;
			}	
		}
	}

 

你可能感兴趣的:(算法,数组)