打印两个排序数组中的不常见元素

给定两个不同元素的排序数组,我们需要打印两个数组中不常见的元素。输出应按排序顺序打印。 例如:

null
Input : arr1[] = {10, 20, 30}        arr2[] = {20, 25, 30, 40, 50}Output : 10 25 40 50We do not print 20 and 30 as theseelements are present in both arrays.Input : arr1[] = {10, 20, 30}        arr2[] = {40, 50}Output : 10 20 30 40 50        

这个想法是基于 合并排序 .我们遍历两个数组并跳过公共元素。

C++

// C++ program to find uncommon elements of
// two sorted arrays
#include <bits/stdc++.h>
using namespace std;
void printUncommon( int arr1[], int arr2[],
int n1, int n2)
{
int i = 0, j = 0, k = 0;
while (i < n1 && j < n2) {
// If not common, print smaller
if (arr1[i] < arr2[j]) {
cout << arr1[i] << " " ;
i++;
k++;
}
else if (arr2[j] < arr1[i]) {
cout << arr2[j] << " " ;
k++;
j++;
}
// Skip common element
else {
i++;
j++;
}
}
// printing remaining elements
while (i < n1) {
cout << arr1[i] << " " ;
i++;
k++;
}
while (j < n2) {
cout << arr2[j] << " " ;
j++;
k++;
}
}
// Driver code
int main()
{
int arr1[] = {10, 20, 30};
int arr2[] = {20, 25, 30, 40, 50};
int n1 = sizeof (arr1) / sizeof (arr1[0]);
int n2 = sizeof (arr2) / sizeof (arr2[0]);
printUncommon(arr1, arr2, n1, n2);
return 0;
}


JAVA

// Java program to find uncommon elements
// of two sorted arrays
import java.io.*;
class GFG {
static void printUncommon( int arr1[],
int arr2[], int n1, int n2)
{
int i = 0 , j = 0 , k = 0 ;
while (i < n1 && j < n2) {
// If not common, print smaller
if (arr1[i] < arr2[j]) {
System.out.print(arr1[i] + " " );
i++;
k++;
}
else if (arr2[j] < arr1[i]) {
System.out.print(arr2[j] + " " );
k++;
j++;
}
// Skip common element
else {
i++;
j++;
}
}
// printing remaining elements
while (i < n1) {
System.out.print(arr1[i] + " " );
i++;
k++;
}
while (j < n2) {
System.out.print(arr2[j] + " " );
j++;
k++;
}
}
// Driver code
public static void main(String[] args)
{
int arr1[] = { 10 , 20 , 30 };
int arr2[] = { 20 , 25 , 30 , 40 , 50 };
int n1 = arr1.length;
int n2 = arr2.length;
printUncommon(arr1, arr2, n1, n2);
}
}
// This code is contributed by vt_m


Python3

# Python 3 program to find uncommon
# elements of two sorted arrays
def printUncommon(arr1, arr2, n1, n2) :
i = 0
j = 0
k = 0
while (i < n1 and j < n2) :
# If not common, print smaller
if (arr1[i] < arr2[j]) :
print ( arr1[i] , end = " " )
i = i + 1
k = k + 1
elif (arr2[j] < arr1[i]) :
print ( arr2[j] , end = " " )
k = k + 1
j = j + 1
# Skip common element
else :
i = i + 1
j = j + 1
# printing remaining elements
while (i < n1) :
print ( arr1[i] , end = " " )
i = i + 1
k = k + 1
while (j < n2) :
print ( arr2[j] , end = " " )
j = j + 1
k = k + 1
# Driver code
arr1 = [ 10 , 20 , 30 ]
arr2 = [ 20 , 25 , 30 , 40 , 50 ]
n1 = len (arr1)
n2 = len (arr2)
printUncommon(arr1, arr2, n1, n2)
# This code is contributed
# by Nikita Tiwari.


C#

// C# program to find uncommon elements
// of two sorted arrays
using System;
class GFG {
static void printUncommon( int []arr1,
int []arr2,
int n1,
int n2)
{
int i = 0, j = 0, k = 0;
while (i < n1 && j < n2)
{
// If not common, print smaller
if (arr1[i] < arr2[j])
{
Console.Write(arr1[i] + " " );
i++;
k++;
}
else if (arr2[j] < arr1[i])
{
Console.Write(arr2[j] + " " );
k++;
j++;
}
// Skip common element
else
{
i++;
j++;
}
}
// printing remaining elements
while (i < n1)
{
Console.Write(arr1[i] + " " );
i++;
k++;
}
while (j < n2)
{
Console.Write(arr2[j] + " " );
j++;
k++;
}
}
// Driver Code
public static void Main()
{
int []arr1 = {10, 20, 30};
int []arr2 = {20, 25, 30, 40, 50};
int n1 = arr1.Length;
int n2 = arr2.Length;
printUncommon(arr1, arr2, n1, n2);
}
}
// This code is contributed by Sam007


PHP

<?php
// PHP program to find uncommon
// elements of two sorted arrays
function printUncommon( $arr1 , $arr2 ,
$n1 , $n2 )
{
$i = 0;
$j = 0;
$k = 0;
while ( $i < $n1 && $j < $n2 )
{
// If not common, print smaller
if ( $arr1 [ $i ] < $arr2 [ $j ])
{
echo $arr1 [ $i ] . " " ;
$i ++;
$k ++;
}
else if ( $arr2 [ $j ] < $arr1 [ $i ])
{
echo $arr2 [ $j ] . " " ;
$k ++;
$j ++;
}
// Skip common element
else
{
$i ++;
$j ++;
}
}
// printing remaining elements
while ( $i < $n1 )
{
echo $arr1 [ $i ] . " " ;
$i ++;
$k ++;
}
while ( $j < $n2 )
{
echo $arr2 [ $j ] . " " ;
$j ++;
$k ++;
}
}
// Driver code
$arr1 = array (10, 20, 30);
$arr2 = array (20, 25, 30, 40, 50);
$n1 = sizeof( $arr1 ) ;
$n2 = sizeof( $arr2 ) ;
printUncommon( $arr1 , $arr2 , $n1 , $n2 );
// This code is contributed by Anuj_67
?>


Javascript

<script>
// JavaScript program to find uncommon elements
// of two sorted arrays
function printUncommon(arr1,
arr2, n1, n2)
{
let i = 0, j = 0, k = 0;
while (i < n1 && j < n2) {
// If not common, print smaller
if (arr1[i] < arr2[j]) {
document.write(arr1[i] + " " );
i++;
k++;
}
else if (arr2[j] < arr1[i]) {
document.write(arr2[j] + " " );
k++;
j++;
}
// Skip common element
else {
i++;
j++;
}
}
// printing remaining elements
while (i < n1)
{
document.write(arr1[i] + " " );
i++;
k++;
}
while (j < n2)
{
document.write(arr2[j] + " " );
j++;
k++;
}
}
// Driver Code
let arr1 = [ 10, 20, 30 ];
let arr2 = [ 20, 25, 30, 40, 50 ];
let n1 = arr1.length;
let n2 = arr2.length;
printUncommon(arr1, arr2, n1, n2);
// This code is contributed by susmitakundugoaldanga.
</script>


输出:

10 25 40 50

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享