在 Java 中查找具有最大和的两个数组元素?

javaobject oriented programmingprogramming更新于 2025/2/21 20:28:17

两个元素在数组中给出最大和意味着,我们必须找到两个最大的数组元素,它们最终将给出可能的最大和。

在本文中,我们将了解如何在 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 - 打印和。

语法

要对数组进行排序,我们需要使用 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);
  }
}

输出

最大和 = 111
元素为 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, 99, 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);
   }
}

输出

最大和 = 104
元素为 99 和 12

在本文中,我们探讨了在 Java 中查找数组中具有最大和的两个元素的不同方法。


相关文章


有用资源