package contests;
import java.util.Arrays;
import java.util.NavigableMap;
import java.util.TreeMap;
/**
* Created by sherxon on 2/4/17.
*/
public class NextGreaterElementI {
public static void main(String[] args) {
System.out.println(Arrays.toString(nextGreaterElement(
new int[]{2, 4},
new int[]{1, 2, 3, 4}
)));
}
static int[] nextGreaterElement(int[] findNums, int[] nums) {
TreeMap<Integer, Integer> map = new TreeMap<>();
int[] a = new int[findNums.length];
for (int i = 0; i < nums.length; i++)
map.put(nums[i], i);
for (int i = 0; i < findNums.length; i++) {
NavigableMap<Integer, Integer> part = map.tailMap(findNums[i], false);
int old = map.get(findNums[i]);
int min = Integer.MAX_VALUE;
int val = -1;
for (Integer integer : part.keySet()) {
if (part.get(integer) > old && min > part.get(integer)) {
min = part.get(integer);
val = integer;
}
}
a[i] = val;
}
return a;
}
}