在Java中獲取陣列中和等於特定數字的三元組
在Java中,陣列是一個物件。它是一種非基本資料型別,用於儲存相同資料型別的多個值。
根據題意,我們需要找到陣列中所有三個元素之和等於特定數字的三元組。這裡的三元組指的是滿足特定條件的陣列中的任意三個元素。
注意 - 陣列必須是整數陣列。
讓我們透過這篇文章瞭解如何使用Java程式語言來實現。
一些示例
示例1
Suppose the original array is {3, 4, 25, 6, 13, 9}.
執行三元組運算以獲取和等於37的結果將是:
The triplet is 3, 25, 9.
示例2
Suppose the original array is {11, 4, 5, 6, 21, 29}
執行三元組運算以獲取和等於22的結果將是:
The triplet is 11, 5, 6.
示例3
Suppose the original array is {8, 2, 15, 6, 11, 1}
執行三元組運算以獲取和等於14的結果將是:
The triplet is 2, 11, 1.
演算法
步驟1 - 宣告並初始化一個整數陣列。
步驟2 - 宣告需要找到其三元組的和。
步驟3 - 初始化三個巢狀的for迴圈來查詢三元組元素。
步驟4 - 檢查三個元素是否等於該和。
步驟5 - 列印三元組。
語法
要獲取陣列的長度(陣列中的元素個數),陣列有一個內建屬性,即length
以下是其語法:
array.length
其中,“array”指的是陣列引用。
多種方法
我們提供了不同的方法來解決這個問題。
使用靜態陣列初始化
使用使用者自定義方法
讓我們逐一檢視程式及其輸出。
方法1:使用靜態陣列初始化
示例
在這種方法中,陣列元素將在程式中初始化。然後,根據演算法獲取陣列中所有和等於特定數字的三元組。
public class Main{
//main method
public static void main(String[] args){
//Declare and initialize the array elements
int arr[] = {11, 4, 5, 6, 21, 29};
//a particular number whose triplet meeds to be find out
int sum = 15;
// Fix the first element as a[i]
for (int i = 0; i < arr.length - 2; i++) {
// Fix the second element as a[j]
for (int j = i + 1; j < arr.length - 1; j++) {
// Now look for the third number in an array
for (int k = j + 1; k < arr.length; k++) {
if (arr[i] + arr[j] + arr[k] == sum) {
//printing the triplet
System.out.print("The triplet is " + arr[i] + ", " + arr[j] + ", " + arr[k] + ".");
}
}
}
}
}
}
輸出
The triplet is 4, 5, 6.
方法2:使用使用者自定義方法
示例
在這種方法中,陣列元素將在程式中初始化。然後,透過將陣列作為引數呼叫使用者自定義方法,並在方法內部根據演算法獲取陣列中所有和等於特定數字的三元組。
public class Main{
//main method
public static void main(String[] args){
//Declare and initialize the array elements
int arr[] = { 8, 2, 15, 6, 11, 1 };
//calling user defined method
triplet(arr);
}
//user defined method
public static void triplet(int []arr){
//a particular number whose triplet meeds to be find out
int sum = 14;
// Fix the first element as a[i]
for (int i = 0; i < arr.length - 2; i++) {
// Fix the second element as a[j]
for (int j = i + 1; j < arr.length - 1; j++) {
// Now look for the third number in an array
for (int k = j + 1; k < arr.length; k++) {
if (arr[i] + arr[j] + arr[k] == sum) {
//printing the triplet
System.out.print("The triplet is " + arr[i] + ", " + arr[j] + ", " + arr[k] + ".");
}
}
}
}
}
}
輸出
The triplet is 2, 11, 1.
在這篇文章中,我們探討了如何在Java中獲取陣列中所有和等於特定數字的三元組。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP