在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中查詢陣列中和最大的兩個元素的不同方法。
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP