354. 俄羅斯套娃信封問(wèn)題

給定一些標(biāo)記了寬度和高度的信封,寬度和高度以整數(shù)對(duì)形式 (w, h) 出現(xiàn)。當(dāng)另一個(gè)信封的寬度和高度都比這個(gè)信封大的時(shí)候,這個(gè)信封就可以放進(jìn)另一個(gè)信封里,如同俄羅斯套娃一樣。

請(qǐng)計(jì)算最多能有多少個(gè)信封能組成一組“俄羅斯套娃”信封(即可以把一個(gè)信封放到另一個(gè)信封里面)。

說(shuō)明:

不允許旋轉(zhuǎn)信封。

示例:

輸入: envelopes = [[5,4],[6,4],[6,7],[2,3]]
輸出: 3
解釋: 最多信封的個(gè)數(shù)為 3, 組合為: [2,3] => [5,4] => [6,7]。

思路:

動(dòng)態(tài)規(guī)劃的思路,先將輸入數(shù)組按wh排序,保證能包含當(dāng)前信封的信封一定在當(dāng)前信封之后,然后從前往后更新dp,如果遇到能包含當(dāng)前信封i的信封j,則dp[j]=max(dp[j],dp[i]+1),具體實(shí)現(xiàn)如下。

class Solution {
public:
    static bool cmp(const pair<int, int>& a,const pair<int, int>& b)
    {
        if(a.first==b.first)
        {
            return a.second<b.second;
        }
        return a.first<b.first;
    }
    
    int maxEnvelopes(vector<pair<int, int>>& envelopes) {
        int len=envelopes.size();
        if(!len)
        {
            return 0;
        }
        
        sort(envelopes.begin(),envelopes.end(),cmp);       
        vector<int> dp(len,1);
        int res=1;
        for(int i=0;i<len;i++)
        {
            for(int j=i+1;j<len;j++)
            {
                if(envelopes[i].first<envelopes[j].first && envelopes[i].second<envelopes[j].second)
                {
                    dp[j]=max(dp[j],dp[i]+1);
                }
            }
            res=max(res,dp[i]);
        }
        return res;
    }
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 寫(xiě)在前面 本篇文章源于牛客網(wǎng)在9月13號(hào)晚上左神(左程云)的直播內(nèi)容,在這對(duì)里面的俄羅斯套娃信封問(wèn)題做一個(gè)課后總結(jié)...
    cutoutsy閱讀 3,475評(píng)論 2 1
  • 給定一些標(biāo)記了寬度和高度的信封,寬度和高度以整數(shù)對(duì)形式 (w, h) 出現(xiàn)。當(dāng)另一個(gè)信封的寬度和高度都比這個(gè)信封大...
    vbuer閱讀 713評(píng)論 0 0
  • 深度好文:腐爛的熊爪,俄羅斯遠(yuǎn)東真相!(下) 2016-12-08 hkokeyla Okeyla商務(wù) Okeyl...
    harry6閱讀 11,755評(píng)論 5 12
  • Mantle,JSONModel,MJExtension防崩潰比較:對(duì)于這樣一條數(shù)據(jù): 客戶(hù)端屬性聲明為:@pro...
    Fsn_soul閱讀 1,794評(píng)論 4 0
  • 愛(ài)是一個(gè)偉大的詞 也是我的繩 牽著你和我 但缺位在我的生活 我只想愛(ài) 有你和木屋 漫步于鄉(xiāng)道 看孩童的蹦跳 一直不...
    張桉樹(shù)閱讀 177評(píng)論 0 3

友情鏈接更多精彩內(nèi)容