ピラミッドI

免責事項:この記事はブロガーオリジナル記事ですが、許可ブロガーなく再生してはなりません。https://blog.csdn.net/iov3Rain/article/details/90243314

タイトル説明

ピラミッドは、人が別の肩の上に立つべきではよく知られているゲームです。同時に、我々は、上記の人よりも少し高く、次の人をさせてください。ゲーム一人一人の身長に関与することが知られている、ゲームに参加することを選択し、我々は個人の数までスタックすることができます人々によって計算するためのコードを記述します。人々は人間のためのゲームと整合的であるべきで、元の配列の順序に参加する手段を有することがあることに注意してください。

の代表に続いて高さint配列の皆男性、与えられました。同時に、数スタックまで戻って、n個の合計数を与えられました。N以下500を確保します。

試験サンプル:

[1,6,2,5,3,4]、6

戻り値:4

 

 

最長のサブシーケンスの問題を上昇

 

class Stack {
public:
    int getHeight(vector<int> men, int n) {
        // write code here
        if(n <= 0)
            return 0;
        vector<int> dp(n, 1);
        int ans = 1;
        for(int i = 0; i < n; ++i)
        {
            for(int j = 0; j < i; ++j)
            {
                if(men[i] > men[j])
                {
                    dp[i] = max(dp[i], dp[j] + 1);
                }
            }
            ans = max(dp[i], ans);
        }
        return ans;
    }
};

 

 

おすすめ

転載: blog.csdn.net/iov3Rain/article/details/90243314