 ### LeetCode - Arrays - Next Greater Element I

You are given two arrays (without duplicates) `nums1` and `nums2` where `nums1`’s elements are subset of `nums2`. Find all the next greater numbers for `nums1`'s elements in the corresponding places of `nums2`.

The Next Greater Number of a number x in `nums1` is the first greater number to its right in `nums2`. If it does not exist, output -1 for this number.

Example 1:

```Input: nums1 = [4,1,2], nums2 = [1,3,4,2].
Output: [-1,3,-1]
Explanation:
For number 4 in the first array, you cannot find the next greater number for it in the second array, so output -1.
For number 1 in the first array, the next greater number for it in the second array is 3.
For number 2 in the first array, there is no next greater number for it in the second array, so output -1.
```

Example 2:

```Input: nums1 = [2,4], nums2 = [1,2,3,4].
Output: [3,-1]
Explanation:
For number 2 in the first array, the next greater number for it in the second array is 3.
For number 4 in the first array, there is no next greater number for it in the second array, so output -1.
```

Note:

1. All elements in `nums1` and `nums2` are unique.
2. The length of both `nums1` and `nums2` would not exceed 1000.

```class Solution {     public int[] nextGreaterElement(int[] nums1, int[] nums2) {        int[] result = new int[nums1.length];         for(int i=0;i<nums1.length;i++){            int index = getIndex(nums2,nums1[i]);            if(index == nums2.length) result[i] = -1;            else{                boolean found = false;                for(int j=index+1;j<nums2.length;j++){                   if(nums1[i] < nums2[j]) {                       found = true;                       result[i] = nums2[j];                       break;                   }                }                if(!found) result[i] = -1;            }        }                   return result;       }          public static int getIndex(int[] n, int target){         return IntStream.range(0, n.length)                     .filter(i -> target == n[i])                     .findFirst()                     .orElse(-1);     } }```