Java program to find Arrays are disjoint or not

Arrays are Disjoint or Not in Java

Here, in this page we will discuss the program to find whether the given arrays are disjoint or not in java programming language. Two arrays are said to be disjoint if the intersection of the array is empty.

Method Discussed :

• Method 1 : Using Naive approach.
• Method 2 : Using sorting and hashing
• Method 3 : Using Hashing

Method 1 :

• Run a loop from index 0 to n
• Run a nested loop from 0 to m
• Check if (arr1[i]==arr2[j]) return 0.
• Otherwise, return 1.

Time and Space Complexity :

• Time Complexity : O(n2)
• Space Complexity : O(1)

Method 1 : Code in Java

```import java.util.*;

class Main
{
// This function prints all distinct elements
static boolean Disjoint(int arr1[], int arr2[])
{

for(int i=0; i<arr1.length; i++){
for(int j=0; j<arr2.length; j++){
if(arr1[i]==arr2[j]){
return false;
}
}
}
return true;
}

// Driver method to test above method
public static void main (String[] args)
{
int arr1[] = {10, 51, 3, 43, 6};
int arr2[] = {80, 71, 29, 3};

if (Disjoint(arr1, arr2))
System.out.println("Yes");
else
System.out.println("No");
}
}```

`No`

Method 2 :

In this method first sort both the given integer arrays, then using the merge process we compare the elements in both arrays.

Method 2 : Code in Java

```import java.util.*;

class Main
{
// This function prints all distinct elements
static boolean Disjoint(int arr1[], int arr2[])
{
int i=0,j=0;

// Sort the given two sets
Arrays.sort(arr1);
Arrays.sort(arr2);

// Check for same elements using
// merge like process
while(iarr2[j])
j++;
else
return false;

}
return true;
}

// Driver method to test above method
public static void main (String[] args)
{
int arr1[] = {10, 51, 3, 43, 6};
int arr2[] = {80, 71, 29, 3};

if (Disjoint(arr1, arr2))
System.out.println("Yes");
else
System.out.println("No");
}
}    ```

`No`

Method 3 :

In this method we use the concept of hashing.

• Iterate through the first array and store every element in the hash table.
• Iterate through the second array and check if any element is present in the hash table.
• If present, then returns false, else ignore the element.
• If all elements of the second array are not present in the hash table, return true.

Method 3 : Code in Java

```import java.util.*;

class Main
{
// This function prints all distinct elements
static boolean Disjoint(int arr1[], int arr2[])
{
HashSet set = new HashSet<>();

// Traverse the first set and store its elements in hash
for (int i=0; i<arr1.length; i++)

// Traverse the second set and check if any element of it
// is already in hash or not.
for (int i=0; i<arr2.length; i++)
if (set.contains(arr2[i]))
return false;

return true;
}

// Driver method to test above method
public static void main (String[] args)
{
int arr1[] = {10, 51, 3, 43, 6};
int arr2[] = {80, 71, 29, 3};

if (Disjoint(arr1, arr2))
System.out.println("Yes");
else
System.out.println("No");
}
}    ```

`No`

3 comments on “Java program to find Arrays are disjoint or not”

• Ayushi

#Python Program
arr1 = list(map(int, input(“Enter array 1: “).split()))
arr2 = list(map(int, input(“Enter array 2: “).split()))

count = 0
for i in range(len(arr1)):
for j in range(len(arr2)):
if arr1[i] == arr2[j]:
print(“Not Disjoint”)
count+=1
break
if count==0:
print(“Disjoint array”)

• Ayushi

arr1 = list(map(int, input(“Enter array 1: “).split()))
arr2 = list(map(int, input(“Enter array 2: “).split()))

count = 0
for i in arr1:
for j in arr2:
if i == j:
print(“Not Disjoint”)
count+=1
break
if count==0:
print(“Disjoint array”)

• Mahesh

int[]a1={1,2,3,4,5};
int []a2={4,5,8,9,0};
int size=a1.length;
String ans=”Disjoint array”;
Arrays.sort(a2);
for(int i=0;i<size;i++){
if(search(a2,a1[i])){
ans="Not Disjoint array";
break;
}
}
System.out.println(ans);
}
static boolean search(int[]a,int x){
int low=0;
int high=a.length-1;
while(lowx){
high=mid-1;
}else{
low=mid+1;
}
}
return false;
}