题目
1.4.12 编写一个程序,有序打印给定的两个有序数组(含有 N 个 int 值) 中的所有公共元素,程序在最坏情况下所需的运行时间应该和 N 成正比。
/*
*@program: algStudy
*@description: 打印两个有序数组中的公共元素
*@author: chensy
*@create: 2019-07-14 09:44
*/
public class topic1_4_12
{
public static void main(String[] args) {
int[] arr1 = {6,7,8,9};
int[] arr3 = {1};
int[] arr2 = {3,4,5,6,7,8};
int[] arr4 = {4};
printPublicElement(arr1, arr2);
}
public static void printPublicElement(int[] arr1, int[] arr2)
{
if(arr1 == null || arr2 == null)
{
return;
}
int tmpJ = 0;
for (int i = 0; i < arr1.length; i++) {
if(tmpJ > arr2.length-1) break;
if(arr1[i] == arr2[tmpJ]){
System.out.println(arr1[i]);
tmpJ++;
}else if (arr1[i] > arr2[tmpJ]){
tmpJ++;
i--;
}
}
}
}