Question 1 Next Greater Element I
Method 1: Brute Force O(n^2)
Step 1: 在 nums2里找到和这个数
Step 2: 往右看,找第一个比我大的
Method 2: Optimization
Analysis
用单调栈撸一遍,是撸nums1还是撸nums2?只能撸nums2
就算用单调栈撸一遍nums2了以后,只能知道,nums2里每个元素对应右边第一个比他大的是谁
nums2 = [1,3,4,2], result[3,4,-1,-1]
问题在于对不上元素,虽然知道了nums2里面每个元素的结果,但是不不知道nums1里每一个元素在nums2里的位置
Map<Key: nums, Value: 这个元素在nums2 index> map
Details
Step 1: 确认Use Case of Mono -Stack
Step 2: 用的是什么栈:动手过个例子(2元素就够了)
Step 3: 栈里存的是什么物理意义
Follow Up
nums2.length >>>> nums1.length
Map------Key:每个nums2的元素,Value:右边第一个比他大的结果
如果记录的是index,每个人必然有index, O(n)开定了
如果记录的是result,每个人右边可能没有比他大的人,不一定
Last updated