496. Next Greater Element I
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.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.// Brute Force
vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) { // time: O(m * n); space: O(m), m: nums1 size, n: nums2 size
vector<int> res(nums1.size());
for (int i = 0; i < nums1.size(); ++i) {
int j = 0, k = 0;
for (; j < nums2.size(); ++j) {
if (nums2[j] == nums1[i]) break;
}
for (k = j + 1; k < nums2.size(); ++k) {
if (nums2[k] > nums1[i]) {
res[i] = nums2[k];
break;
}
}
if (k == nums2.size()) res[i] = -1;
}
return res;
}Last updated