📅  最后修改于: 2023-12-03 15:32:04.956000             🧑  作者: Mango
本文将介绍如何编写Java程序,从两个排序数组中打印不常见的元素。通过该程序,您可以找到两个排序数组中只出现一次的元素以及重复出现的元素。
排序数组是指按升序或降序排列的数组,其中的元素之间具有一定的顺序关系。
在实际应用中,有时需要我们从两个排序数组中找到只出现一次的元素或者重复出现的元素。例如,在两个有序数组中查找相同元素或者求两个数组的并、交、差等操作。
下面是Java程序代码片段,用于从两个排序数组中打印不常见的元素:
public static void printUncommon(int[] arr1, int[] arr2) {
int index1 = 0, index2 = 0;
while (index1 < arr1.length && index2 < arr2.length) {
if (arr1[index1] < arr2[index2]) {
System.out.print(arr1[index1] + " ");
index1++;
} else if (arr1[index1] > arr2[index2]) {
System.out.print(arr2[index2] + " ");
index2++;
} else {
index1++;
index2++;
}
}
while (index1 < arr1.length) {
System.out.print(arr1[index1++] + " ");
}
while (index2 < arr2.length) {
System.out.print(arr2[index2++] + " ");
}
}
public static void main(String args[]) {
int[] arr1 = {1, 2, 3, 4, 7, 9};
int[] arr2 = {1, 2, 3, 5, 7, 8};
System.out.println("不常见元素:");
printUncommon(arr1, arr2);
}
上述程序代码片段中定义了一个函数printUncommon()
,用于从两个排序数组中查找不常见的元素。
该函数首先定义两个变量index1
和index2
,表示两个数组的下标位置,然后使用while循环遍历两个数组。如果arr1中的元素小于arr2中的元素,则该元素为不常见元素,将其打印,并将下标位置后移一位。如果arr2中的元素小于arr1中的元素,则同理。如果两个元素相等,则说明两个数组中都有该元素,将两个下标都后移一位。
最后,如果某个数组还有元素未被遍历到,将其打印出来即可。
在main()
函数中,我们定义了两个有序数组arr1
和arr2
,并调用printUncommon()
函数来打印不常见的元素。
本文介绍了从两个排序数组中打印不常见的元素的Java程序实现方法。该程序可以帮助您找到两个排序数组中只出现一次的元素以及重复出现的元素。您可以根据自己的需求进行修改或优化该程序。