在 Java 中查找具有最大乘积的两个数组元素?
两个元素在数组中给出最大乘积意味着,我们必须找到两个最大的数组元素,它们最终将给出可能的最大乘积。
在本文中,我们将了解如何在 Java 中找到两个元素的最大乘积。
向您展示一些实例
实例 1
假设我们有以下数组
[10, 2, 3, -5, 99, 12, 0, -1]
在此数组中,最大元素为 99,第二大元素为 12。
最大乘积 = 99 * 12
因此,此数组中两个元素的最大乘积为 1188。
实例 2
假设我们有下面的数组
[6, 1, 2, 4, 3, 5, 9]
在这个数组中,最大的元素是 9,第二大的元素是 6。>
最大乘积 = 9 * 6
因此,这个数组中两个元素的最大乘积是 54。
实例-3
假设我们有下面的数组
[10, 17, 14, 12, 15, 6, 5, 19]
在这个数组中,最大的元素是 19,第二大的元素是 17。
最大乘积= 19 * 17
因此,这个数组中两个元素的最大乘积是323.
算法
算法-1
步骤 1 - 使用 for 循环查找数组中的最大元素和第二大元素。
步骤 2 - 找到它们的乘积。
步骤 3 - 打印乘积。
算法-2
步骤 1 - 对数组元素进行排序。
步骤 2 - 取数组的最后一个和倒数第二个元素。
步骤 3 - 找到它们的乘积。
步骤 4 - 打印乘积。
算法
要对数组进行排序,我们需要使用 Arrays 类的 sort() 方法java.util 包。
以下是使用方法对任何数组按升序排序的语法-
Arrays.sort(array_name);
其中,"array_name"指的是要排序的数组。
多种方法
我们提供了不同方法的解决方案。
使用 for 循环查找最大乘积。
使用 Arrays.sort 查找最大乘积。
让我们逐一查看程序及其输出。
方法 1:使用 for 循环
在这种方法中,我们使用 for 循环遍历数组元素以找出最大元素和第二大元素。这两个元素将产生最大乘积。
示例
public class Main {
public static void main(String[] args) {
// 数组元素
int arr[] = { 10, 2, 3, -5, 99, 12, 0, -1 };
// 将第一个元素存储在两个变量中
int first = arr[0], second = arr[0];
// For 循环迭代元素从 1 到 n
// 查找第一个最大元素
for (int i = 0; i < arr.length; i++) {
// 如果数组元素大于当前最大元素,则交换
if (arr[i] > first)
first = arr[i];
}
// For 循环迭代元素从 1 到 n
// 找到第二大元素
for (int i = 0; i < arr.length; i++) {
// 如果数组元素大于当前最大元素且不等于
// 最大元素,则交换
if (arr[i] > second && arr[i] != first)
second = arr[i];
}
// 打印乘积
System.out.println("最大乘积 = " + (first * second));
System.out.println("元素为 " + first + " 和 " + second);
}
}
输出
最大乘积 = 1188 元素为 99 和 12
方法 2:使用 Arrays.sort
在此方法中,我们使用 Arrays.sort( ) 方法对数组进行排序。然后我们取最后一个和倒数第二个索引处的元素。由于数组已经排序,这两个元素将产生最大乘积。
示例
import java.util.Arrays;
public class Main{
public static void main(String[] args) {
// 数组元素
int arr[] = { 10, 2, 3, -5, 9, 12, 0, -1 };
// 使用数组类中的 sort 方法对数组进行排序
Arrays.sort(arr);
// 将最后一个元素存储为最大元素,将倒数第二个元素存储为第二大元素
int first = arr[arr.length - 1], second = arr[arr.length - 2];
// 打印最大乘积
System.out.println("最大乘积 = " + (first * second));
System.out.println("元素为 " + first + " 和 " + second);
}
}
输出
最大乘积 = 120 元素为 12 和 10
在本文中,我们探索了在 Java 中查找数组中具有最大乘积的两个元素的不同方法。
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

