class Solution {
public:
bool increasingTriplet(vector<int>& nums) {
int n = nums.size();
if (n < 3) {
return false;
}
vector<int> minimum(n);
minimum[0] = nums[0];
for (int i = 1; i < n; ++i) {
minimum[i] = min(minimum[i - 1], nums[i]);
}
int largest = nums[n - 1];
for (int i = n - 2; i > 0; --i) {
if (minimum[i - 1] < nums[i] && nums[i] < largest) {
return true;
}
largest = max(largest, nums[i]);
}
return false;
}
};
334. Increasing Triplet Subsequence
最新推荐文章于 2024-08-20 23:55:32 发布