如何在 Java 中檢查給定的陣列是否不相交?
在 Java 中,陣列是一個物件。它是一種非原始資料型別,用於儲存相同資料型別的值。
根據問題陳述,我們必須檢查給定的陣列是否不相交。如果兩個陣列沒有共同的元素,則稱陣列不相交,即第一個陣列中的元素不等於第二個陣列中的元素。
讓我們探索本文,看看如何使用 Java 程式語言來實現這一點。
為您展示一些例項
例項 1
Suppose the original two arrays are {13, 44, 11, 19, 3} and {7, 12, 1, 5}.
在檢查給定兩個陣列中的不相交元素後,結果將為 -
The arrays are disjoint
例項 2
Suppose the original two arrays are {22, 4, 15, 9, 53} and {71, 4, 1, 22}
在檢查給定兩個陣列中的不相交元素後,結果將為 -
The arrays are not disjoint
例項 3
Suppose the original two arrays are {15, 14, 91,9, 1} and {24, 2, 21, 85}
在檢查給定兩個陣列中的不相交元素後,結果將為 -
The arrays are disjoint
演算法
步驟 1 - 宣告並初始化一個整數陣列。
步驟 2 - 宣告布林值以檢查是否不相交。
步驟 3 - 宣告兩個 for 迴圈,一個巢狀在另一個裡面。
步驟 4 - 檢查 if(arr1[i] == arr2[j])
步驟 5 - if(arr1[i] == arr2[j]) 則列印陣列不相交。
步驟 6 - 否則列印陣列不相交。
語法
要獲取陣列的長度(陣列中的元素數量),陣列有一個內建屬性,即length。
下面指的是它的語法 -
array.length
其中“array”指的是陣列引用。
多種方法
我們提供了不同方法的解決方案。
使用陣列的靜態初始化
使用使用者定義的方法
讓我們逐一檢視程式及其輸出。
方法 1:使用陣列的靜態初始化
示例
在這種方法中,陣列元素將在程式中初始化。然後根據演算法檢查給定的陣列是否不相交。
import java.util.*;
public class Main{
//main method
public static void main(String[] args) {
//Declare and initialize two array elements
int arr1[] = { 15, 14, 91,9, 1 };
int arr2[] = { 24, 2, 21, 85 };
//declare boolean to check for disjoint or not
boolean flag = false;
//logic implementation
for(int i = 0;i<arr1.length;i++){
for(int j=0;j<arr2.length;j++){
if(arr1[i] == arr2[j]){
flag = true;
break;
}
}
}
System.out.println("First array is: "+Arrays.toString(arr1));
System.out.println("Second array is: "+Arrays.toString(arr2));
// print array are disjoint
if(!flag) {
System.out.println("The arrays are disjoint");
return;
}
// print array are not disjoint
else {
System.out.println("The arrays are not disjoint");
}
}
}
輸出
First array is: [15, 14, 91, 9, 1] Second array is: [24, 2, 21, 85] The arrays are disjoint
方法 2:使用使用者定義的方法
示例
在這種方法中,陣列元素將在程式中初始化。然後透過將陣列作為引數傳遞來呼叫使用者定義的方法,並在方法內部根據演算法檢查給定的陣列是否不相交。
import java.util.*;
public class Main{
//main method
public static void main(String[] args) {
//Declare and initialize two array elements
int arr1[] = { 22, 4, 15, 9, 53 };
int arr2[] = { 71, 4, 1, 22 };
System.out.println("First array is: "+Arrays.toString(arr1));
System.out.println("Second array is: "+Arrays.toString(arr2));
//calling user defined method
func(arr1, arr2);
}
//declaring user defined method
static void func(int []arr1, int []arr2){
//declare boolean to check for disjoint or not
boolean flag = false;
//logic implementation
for(int i = 0;i<arr1.length;i++){
for(int j=0;j<arr2.length;j++){
if(arr1[i] == arr2[j]){
flag = true;
break;
}
}
}
// print array are disjoint
if(!flag) {
System.out.println("The arrays are disjoint");
return;
}
// print array are not disjoint
else{
System.out.println("The arrays are not disjoint");
}
}
}
輸出
First array is: [22, 4, 15, 9, 53] Second array is: [71, 4, 1, 22] The arrays are not disjoint
在本文中,我們探討了如何使用 Java 程式語言檢查給定的陣列是否不相交。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP