
- Java Tutorial
- Java - Home
- Java - Overview
- Java - Environment Setup
- Java - Basic Syntax
- Java - Object & Classes
- Java - Constructors
- Java - Basic Datatypes
- Java - Variable Types
- Java - Modifier Types
- Java - Basic Operators
- Java - Loop Control
- Java - Decision Making
- Java - Numbers
- Java - Characters
- Java - Strings
- Java - Arrays
- Java - Date & Time
- Java - Regular Expressions
- Java - Methods
- Java - Files and I/O
- Java - Exceptions
- Java - Inner classes
- Java Object Oriented
- Java - Inheritance
- Java - Overriding
- Java - Polymorphism
- Java - Abstraction
- Java - Encapsulation
- Java - Interfaces
- Java - Packages
- Java Advanced
- Java - Data Structures
- Java - Collections
- Java - Generics
- Java - Serialization
- Java - Networking
- Java - Sending Email
- Java - Multithreading
- Java - Applet Basics
- Java - Documentation
- Java Useful Resources
- Java - Questions and Answers
- Java - Quick Guide
- Java - Useful Resources
- Java - Discussion
- Java - Examples
Find Two Array Elements Having Maximum Sum in Java?
Two elements giving the maximum sum in an array means, we have to find two largest array elements which will eventually give the maximum sum possible.
In this article we will see how we can find the maximum sum of two elements in Java.
To show you some instances
Instance-1
Suppose we have the below array
[10, 2, 3, -5, 99, 12, 0, -1]
In this array the largest element is 99 and second largest is 12.
Max sum = 99 + 12
Hence the maximum sum of two elements in this array is 111.
Instance-2
Suppose we have the below array
[556, 10, 259, 874, 123, 453, -96, -54, -2369]
In this array the largest element is 874 and the second largest is 556.
Max sum = 874+556
Hence the maximum sum of two elements in this array is 1430.
Instance-3
Suppose we have the below array
[55, 10, 29, 74, 12, 45, 6, 5, 269]
In this array the largest element is 269 and the second largest is 74.
Max sum= 269+74
Hence the maximum sum of two elements in this array is 343.
Algorithm
Algorithm-1
Step 1 − Use a for loop to find the largest and second largest element in the array.
Step 2 − Find their sum.
Step 3 − Print the sum.
Algorithm-2
Step 1 − Sort the array elements.
Step 2 −Take the last and second last element of the array.
Step 3 − Find their sum.
Step 4 − Print the sum.
Syntax
To sort the array we need to use the sort( ) method of the Arrays class of java.util package.
Following is the syntax to sort any array in ascending order using the method
Arrays.sort(array_name);
Where, ‘array_name’ refers to the array that you want to sort.
Multiple Approaches
We have provided the solution in different approaches.
Find The Largest Sum Using for Loop
Find The Largest Sum Using Arrays.sort
Let’s see the program along with its output one by one.
Approach-1: By Using for Loop
In this approach, we use a for loop to iterate through the array elements to find out the largest and second largest element. These two elements will give the maximum sum.
Example
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); } }
Output
Largest sum = 111 The elements are 99 and 12
Approach-2: By Using Arrays.sort
In this approach, we sort the array using the Arrays.sort( ) method. Then we take the elements at last and second last index. As the array was sorted already, these two elements will give the maximum sum.
Example
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); } }
Output
Maximum sum = 104 The elements are 99 and 12
In this article, we explored different approaches to find two elements in an array with maximum sum in Java.
- Related Articles
- Find Two Array Elements Having Maximum Product in Java?
- Find sum of two array elements index wise in Java
- Maximum sum in circular array such that no two elements are adjacent in C++
- Find maximum array sum after making all elements same with repeated subtraction in C++
- Maximum sum of n consecutive elements of array in JavaScript
- Program to find maximum product of two distinct elements from an array in Python
- Maximum Subarray Sum after inverting at most two elements in C++
- Maximum sum such that no two elements are adjacent in C++
- Java program to find the sum of elements of an array
- Maximum Sum of Products of Two Array in C++ Program
- Maximum set bit sum in array without considering adjacent elements in C++
- Find if sum of odd or even array elements are smaller in Java
- Find Sum of pair from two arrays with maximum sum in C++
- Count of subsequences having maximum distinct elements in C++
- Maximum sum by picking elements from two arrays in order in C++ Program
