day58|● 739. 每日温度 ● 496.下一个更大元素 I

739. 每日温度

因为是求之后比他大的元素。所以, 从栈头到栈底,递增。
class Solution {
public:
    vector dailyTemperatures(vector& temperatures) {
        //if(temperatures.size()==0) return vector st;
        vector res(temperatures.size(),0);
        st.push(0);
        for(int i=1;i temperatures[st.top()]){
                    res[st.top()] = i-st.top();
                    st.pop();
                }
                st.push(i);
            }
        }
        return res;    
    }
};

496.下一个更大元素 I

因为是求之后比他大的元素。所以,从栈头到栈底,递增。

class Solution {
public:
    vector nextGreaterElement(vector& nums1, vector& nums2) {
        stack st;
        vector res(nums1.size(),-1);
        if(nums1.size()==0) return res;

        unordered_map umap;
        for(int i=0;i nums2[st.top()]){
                    if(umap.count(nums2[st.top()]) > 0){
                        int index = umap[nums2[st.top()]];
                        res[index] = nums2[i];
                    }
                    st.pop();
                }
                st.push(i);
            }
        }
        return res;
    }
};

你可能感兴趣的:(leetcode,算法,数据结构)