在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