Java >> Java tutorial >  >> Java

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

  1. Start
  2. Deklarer matrixstørrelsen.
  3. Bed brugeren om at initialisere matrixstørrelsen.
  4. Deklarer arrayet.
  5. Bed brugeren om at initialisere array-elementerne.
  6. Brug to til sløjfer til det samme.
  7. Brug den første for-løkke til at holde elementerne.
  8. Brug den anden for-løkke til at beregne forskellen mellem det valgte element og hvert andet element i arrayet.
  9. Sammenlign forskellen samtidig med den beregnede maksimale forskel.
  10. Tjek for alle mulige forskelle mellem to vilkårlige elementer.
  11. Udskriv elementerne med den største forskel.
  12. 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

  1. Start
  2. Deklarer matrixstørrelsen.
  3. Bed brugeren om at initialisere matrixstørrelsen.
  4. Deklarer arrayet.
  5. Bed brugeren om at initialisere array-elementerne.
  6. Sortér arrayet ved hjælp af Array.sort().
  7. Det første og det sidste element vil være minimums- og maksimumelementerne i arrayet.
  8. Forskellen mellem disse to elementer vil give det største element.
  9. Udskriv elementerne med den største forskel.
  10. 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


Java tag