Java-program til at finde to elementer, så forskellen mellem dem er den største
I denne tutorial lærer vi, hvordan man finder 2 elementer i arrayet, så forskellen mellem dem er størst. Men før du går videre, hvis du ikke er bekendt med begreberne for arrayet, så tjek artiklen Arrays in Java.
Input: 7 8 5 4 3 2 1
Output: Største forskel er 8-1 =7
Program 1:Find den største forskel
I denne metode vil vi se, hvordan man finder de 2 elementer i arrayet, så forskellen mellem dem er størst ved at sammenligne og kontrollere forskellen for hvert par.
Algorithme
- Start
- Deklarer matrixstørrelsen.
- Bed brugeren om at initialisere matrixstørrelsen.
- Deklarer arrayet.
- Bed brugeren om at initialisere array-elementerne.
- Brug to til sløjfer til det samme.
- Brug den første for-løkke til at holde elementerne.
- Brug den anden for-løkke til at beregne forskellen mellem det valgte element og hvert andet element i arrayet.
- Sammenlign forskellen samtidig med den beregnede maksimale forskel.
- Tjek for alle mulige forskelle mellem to vilkårlige elementer.
- Udskriv elementerne med den største forskel.
- Stop.
Nedenstående program viser, hvordan man finder de 2 elementer i arrayet, så forskellen mellem dem er størst.
/*Java Program to find 2 Elements in the Array such that Difference Between them is Largest*/
import java.util.*;
import java.util.Arrays;
//Driver Code
public class Main
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
int n; //Declare array size
System.out.println("Enter the total number of elements ");
n=sc.nextInt(); //Initialize array size
int arr[]=new int[n]; //Declare array
System.out.println("Enter the elements of the array ");
for(int i=0; i<n ;i++) //Initialize array
{
arr[i]=sc.nextInt();
}
int difference, largestDifference = arr[1] - arr[0];
int element1 = arr[1], element2 = arr[0]; // two elements ele1 and ele2 .
int res[] = new int[3]; // Array to store the difference
/* Check for all possible difference between any 2 elements in the array and finally select the elements whose difference is the largest */
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
difference = Math.abs(arr[i] - arr[j]);
if (difference > largestDifference)
{
largestDifference = difference;
element1 = arr[i];
element2 = arr[j];
}
}
}
res[0] = largestDifference;
res[1] = element1;
res[2] = element2;
System.out.println( "Two elements with largest difference are "
+ res[1] + " and " + res[2]);
System.out.println("The Greatest Difference is "
+ res[0]);
}
}
Indtast det samlede antal elementer 10
Indtast elementerne i arrayet 7 3 5 1 3 6 8 9 5 4
To elementer med størst forskel er 1 og 9
The Greatest Forskellen er 8
Program 2:Find den største forskel
I denne metode vil vi se, hvordan man finder de 2 elementer i arrayet, så forskellen mellem dem er størst ved at sammenligne og kontrollere forskellen for hvert par.
Algorithme
- Start
- Deklarer matrixstørrelsen.
- Bed brugeren om at initialisere matrixstørrelsen.
- Deklarer arrayet.
- Bed brugeren om at initialisere array-elementerne.
- Sortér arrayet ved hjælp af Array.sort().
- Det første og det sidste element vil være minimums- og maksimumelementerne i arrayet.
- Forskellen mellem disse to elementer vil give det største element.
- Udskriv elementerne med den største forskel.
- Stop
Forklaring:Nedenstående program viser, hvordan man finder de 2 elementer i arrayet, så forskellen mellem dem er størst.
/*Java Program to find 2 Elements in the Array such that Difference Between them is Largest*/
import java.util.*;
import java.util.Arrays;
//Driver Code
public class Main
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
int n; //Declare array size
System.out.println("Enter the total number of elements ");
n=sc.nextInt(); //Initialize array size
int arr[]=new int[n]; //Declare array
System.out.println("Enter the elements of the array ");
for(int i=0; i<n ;i++) //Initialize array
{
arr[i]=sc.nextInt();
}
Arrays.sort(arr); //Sort the array
System.out.println("Two elements with the largest difference are "+arr[n-1]+" and "+arr[0]);
int difference=arr[n-1]-arr[0];
System.out.println("The largest difference is "+difference);
}
}
Indtast det samlede antal elementer 10
Indtast elementerne i arrayet 8 7 6 59 7 6 42 5 7 9
To elementer med den største forskel er 59 og 5
største forskel er 54