题目
给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。
如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。
来源:力扣(LeetCode)
解答
力扣上的一个答案写的很好,就不班门弄斧了,直接上图:
bool increasingTriplet(vector<int> &nums) {
int n = nums.size();
if (n < 3) {
return false;
}
int small = INT_MAX;
int mid = INT_MAX;
for (auto i: nums) {
if (i <= small) {
small = i;
} else if (i <= mid) {
mid = i;
} else if (i > mid) {
return true;
}
}
return false;
}