在Java中查找和为最大的两个数组元素?
数组中两个元素的和最大,意味着我们需要找到两个最大的数组元素,它们最终会得到最大的可能和。
在这篇文章中,我们将学习如何在Java中找到两个元素的最大和。
举几个例子:
例1
假设我们有如下数组:
[10, 2, 3, -5, 99, 12, 0, -1]
在这个数组中,最大的元素是99,第二大的元素是12。
最大和 = 99 + 12
因此,这个数组中两个元素的最大和是111。
例2
假设我们有如下数组:
[556, 10, 259, 874, 123, 453, -96, -54, -2369]
在这个数组中,最大的元素是874,第二大的元素是556。
最大和 = 874 + 556
因此,这个数组中两个元素的最大和是1430。
例3
假设我们有如下数组:
[55, 10, 29, 74, 12, 45, 6, 5, 269]
在这个数组中,最大的元素是269,第二大的元素是74。
最大和 = 269 + 74
因此,这个数组中两个元素的最大和是343。
算法
算法1
步骤1 - 使用for循环找到数组中最大和第二大的元素。
步骤2 - 求它们的和。
步骤3 - 打印和。
算法2
步骤1 - 对数组元素进行排序。
步骤2 - 取数组的最后一个和倒数第二个元素。
步骤3 - 求它们的和。
步骤4 - 打印和。
语法
要对数组进行排序,我们需要使用java.util包中Arrays类的sort()方法。
以下是使用该方法对任何数组进行升序排序的语法:
Arrays.sort(array_name);
其中,'array_name' 指的是要排序的数组。
多种方法
我们提供了不同的方法来解决这个问题。
使用for循环查找最大和
使用Arrays.sort查找最大和
让我们逐一查看程序及其输出。
方法1:使用for循环
在这种方法中,我们使用for循环迭代数组元素,以找出最大和第二大的元素。这两个元素将给出最大和。
示例
public class Main { public static void main(String[] args) { // The array elements int arr[] = { 10, 2, 3, -5, 99, 12, 0, -1 }; // Storing the first element in both variables int first = arr[0], second = arr[0]; // For loop to iterate the elements from 1 to n // to find the first largest element for (int i = 0; i < arr.length; i++) { // If array element is larger than current largest element, then swap if (arr[i] > first) first = arr[i]; } // For loop to iterate the elements from 1 to n // to find the second largest element for (int i = 0; i < arr.length; i++) { // If array element is larger than current largest element and not equals to // largest element, then swap if (arr[i] > second && arr[i] != first) second = arr[i]; } // Print the sum System.out.println("Largest sum = " + (first + second)); System.out.println("The elements are " + first + " and " + second); } }
输出
Largest sum = 111 The elements are 99 and 12
方法2:使用Arrays.sort
在这种方法中,我们使用Arrays.sort()方法对数组进行排序。然后,我们取最后和倒数第二个索引处的元素。由于数组已经排序,这两个元素将给出最大和。
示例
import java.util.Arrays; public class Main { public static void main(String[] args) { // The array elements int arr[] = { 10, 2, 3, -5, 99, 12, 0, -1 }; // Sort the array using the sort method from array class Arrays.sort(arr); // Storing the last element as largest and second last element as second largest int first = arr[arr.length - 1], second = arr[arr.length - 2]; // Print the maximum sum System.out.println("Maximum sum = " + (first + second)); System.out.println("The elements are " + first + " and " + second); } }
输出
Maximum sum = 104 The elements are 99 and 12
在这篇文章中,我们探讨了在Java中查找数组中和最大的两个元素的不同方法。