Question 1 Next Greater Element I
Last updated
Last updated
// Some code
public int[] nextGreatElement(int[] nums1, int[] nums2) {
Map<Integer, Integer> resultMap = new HashMap<>();
int[] result = new int[num1.length];
Deque<Integer> monoStack = new ArrayDeque<>();
for (int i = 0; i < nums2.length; i++) {
while (!monoStack.isEmpty() && monoStack.peekLast() < nums2[i]) {
resultMap.put(monoStack.pollLast(), nums2[2]); // monoStack存的是nums2的element
}
monoStack.offerLast(nums2[i]);
}
for (int i = 0; i < nums1.length; i++) {
result[i] = resultMap.getOrDefault(nums1[i], -1);
}
return result;
}