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
Post a Comment