Practice Problem
Next Greater Element I
Difficulty: Easy
Given two arrays where nums1 is a subset of nums2, find the next greater element in nums2 for each element in nums1.
Next Greater Element I
The next greater element of some element x in an array is the first greater element that is to the right of x in the same array.
You are given two distinct 0-indexed integer arrays nums1 and nums2, where nums1 is a subset of nums2.
For each 0 <= i < nums1.length, find the index j such that nums1[i] == nums2[j] and determine the next greater element of nums2[j] in nums2. If there is no next greater element, the answer is -1.
Return an array ans of length nums1.length such that ans[i] is the next greater element for nums1[i].
Examples
Example 1:
Input: nums1 = [4, 1, 2], nums2 = [1, 3, 4, 2]
Output: [-1, 3, -1]
Explanation:
- 4 is at index 2 in nums2. No greater element to its right → -1
- 1 is at index 0 in nums2. The next greater element to its right is 3.
- 2 is at index 3 in nums2. No greater element to its right → -1Example 2:
Input: nums1 = [2, 4], nums2 = [1, 2, 3, 4]
Output: [3, -1]
Explanation:
- 2 is at index 1 in nums2. The next greater element is 3.
- 4 is at index 3 in nums2. No greater element to its right → -1Constraints
1 <= nums1.length <= nums2.length <= 10000 <= nums1[i], nums2[i] <= 10^4- All integers in
nums1andnums2are unique. - All integers of
nums1also appear innums2.
Expected Complexity
- Time: O(n + m) where n = nums1.length, m = nums2.length
- Space: O(m)
EASY
Stack
Monotonic Stack
Hash Map / Dictionary
Beginner
0 views
Solution
Hints
Hint 1
Hint 2
Premium
Hint 3
Premium
Hint 4
Premium
This section is available for CodeSnatch Premium members only.
