Next Greatest Element in array in java.

Method 1-> 

public class Main

{

public static void main(String[] args) {

int[] arr={12,8,41,37,2,49,16,28,21};

int n =arr.length;

for(int i=0; i<n-1; i++){

    int mx=Integer.MIN_VALUE;

    for(int j=i+1; j<n; j++){

    if(arr[j]>mx){

        mx=arr[j];

    }    

    }

    arr[i]=mx;

}

arr[n-1]=-1;

for(int ele : arr){

    System.out.print(ele+" ");

}

}

}

Method 2-> 

import java.util.Scanner;

public class Main

{

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("enter size=");

int n=sc.nextInt();

int[] arr=new int[n];

System.out.println("enter elements=");

for(int i=0; i<n; i++){

      arr[i]=sc.nextInt();

}

int[] crr=new int[n];

crr[n-1]=-1;

int mx=arr[n-1];

for(int i=n-2; i>=0; i--){

      crr[i]=mx;

      mx=Math.max(arr[i],mx);

}

System.out.println("array is=");

for(int ele:crr){

      System.out.print(ele+" ");

}

}

}

-------------------------------------------------------------------------

public class Main { 

    public static void main(String[] args) { 

        int[] arr={12,8,41,37,2,49,16,28,21}; 

        int n =arr.length;

        int nge=arr[n-1]; 

        for(int i=n-2; i>=0; i--){ 

            int current=arr[i];

            arr[i]=nge;

            nge=Math.max(current,nge);

        } 

        arr[n-1]=-1;

        for(int ele : arr){

            System.out.print(ele+" ");

        } 

    } 

}

output->

enter size=

6

enter elements=

12

74

5

13

18

6

 array is=

74 18 18 18 6 -1 


Comments

Popular posts from this blog

Introduction of java Programming language.

Stack data structure.