參考資訊:
https://www.cnblogs.com/grandyang/p/5194599.html
題目:

解答1:
bool increasingTriplet(int* nums, int numsSize)
{
int i = 0;
int m1 = INT_MAX;
int m2 = INT_MAX;
for (i = 0; i < numsSize; i++) {
if (m1 >= nums[i]) {
m1 = nums[i];
}
else if (m2 >= nums[i]) {
m2 = nums[i];
}
else {
return true;
}
}
return false;
}
解答2:
int max(int a, int b)
{
return a > b ? a : b;
}
int min(int a, int b)
{
return a < b ? a : b;
}
bool increasingTriplet(int* nums, int numsSize)
{
int i = 0;
int vmax[500000] = { 0 };
int vmin[500000] = { 0 };
vmin[0] = nums[0];
for (i = 0; i < numsSize - 1; i++) {
vmin[i + 1] = min(nums[i], vmin[i]);
}
vmax[numsSize - 1] = nums[numsSize - 1];
for (i = numsSize - 1; i > 0; i--) {
vmax[i - 1] = max(nums[i], vmax[i]);
}
for (i = 0; i < numsSize; i++) {
if ((nums[i] > vmin[i]) && (nums[i] < vmax[i])) {
return true;
}
}
return false;
}