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;
}
};