Saturday, August 20, 2022

Java program -- WIP

  public static void main(String[] args) {


// Input:
// N = 4, arr[] = [1 3 2 4]
// Output:
// 3 4 4 -1
// N = 4, arr[] = [1 3 2 4]
long start = System.currentTimeMillis();

int N = 4;
long arr[] = {1, 3, 2, 4};
long[] res = nextLargerElement(arr, N);
for (long re : res) {
System.out.println(re);
}

long end = System.currentTimeMillis();

long total = end - start;
System.out.println(total);
}

//Function to find the next greater element for each element of the array.
public static long[] nextLargerElement(long[] arr, int n) {
long[] res = new long[arr.length];
for (int i = 0; i < arr.length; i++) {
long temp = arr[i];
long[] subArr = Arrays.copyOfRange(arr, i, arr.length);
long biggerEl = -1;
innerloop:

for (long lo : subArr) {
if (lo > temp) {
biggerEl = lo;
break innerloop;
}
}

// while (lo > temp){
//
// }


res[i] = biggerEl;
}
return res;
}

public static long getBiggerElement(int i, long[] arr) {
long temp = arr[i];
// long[] tempArray = Arrays.copyOfRange(arr, i, arr.length);
long[] subArr = new long[arr.length - i];
for (int a = 0; a < subArr.length; a++) {
subArr[a] = arr[i + a];
}

long biggerEl = -1;
for (long lo : subArr) {
if (lo > temp) {
biggerEl = lo;
break;
}
}
return biggerEl;
}

No comments:

Post a Comment

Ruby Basics

Basics of Ruby   Start Ruby interpret On terminal just type rib ruby_docs $ irb 3 . 0 . 0 : 001 > name = "This is the first ...