class Solution {
public:
bool increasingTriplet(vector<int>& nums) {
int n=nums.size();
if(n<3)
return false;
vector<int>leftMin(n,0);
vector<int>rightMax(n,0);
leftMin[0]=nums[0];
rightMax[n-1]=nums[n-1];
for(int i=1;i<n;i++){
leftMin[i]=min(leftMin[i-1], nums[i]);
}
for(int i=n-2;i>=0;i--){
rightMax[i]=max(rightMax[i+1], nums[i]);
}
for(int i=1;i<n-1;i++){
int x=nums[i];
int left=leftMin[i-1];
int right=rightMax[i+1];
if(left<x && x<right)
return true;
}
return false;
}
};
334. 递增的三元子序列
最新推荐文章于 2025-08-02 10:34:45 发布