334. Increasing Triplet Subsequence

class Solution {
public:
    bool increasingTriplet(vector<int>& nums) {
        int first = INT_MAX, second = INT_MAX;

        int N = nums.size();
        for (int i = 0; i < N; i++) {
            if (nums[i] <= first) {
                first = nums[i];
            }
            else if (nums[i] <= second) {
                second = nums[i];
            }
            else {
                return true;
            }
        }

        return false;
    }
};
X案例 75 超时
class Solution {
public:
    bool increasingTriplet(vector<int>& nums) {
        long long N = nums.size();
        vector<int> dp(N, 1);

        long long maxLen = 1;
        for (long long i = 1; i < N; i++) {
            for (long long j = 0; j < i; j++) {
                if (nums[i] > nums[j]) {
                    if (dp[i] < dp[j]+1) {
                        dp[i] = dp[j]+1;
                    }
                }
            }

            if (maxLen < dp[i]) {
                maxLen = dp[i];
            }
            //maxLen = max(maxLen, dp[i]);
            if (maxLen >= 3) {
                return true;
            }
        }

        return false;
    }
};
posted @   七块蛋糕  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示