```
bool increasingTriplet(vector<int>& nums) {
if (nums.size() < 1) return false;
int min = nums[0];
**int mid = std::numeric_limits<int>::max();**
for (size_t i = 0; i<nums.size(); ++i)
{
if (nums[i] > mid) return true;
if (nums[i] > min)
mid = nums[i];// find first element greater than min;
else
min = nums[i];
}
return false;
```

}

**if I use "mid = std::numeric_limits<int>::max(); "
It will fail at case [2,4,-2,-3].
but mid = 2147483647 will pass.**

could you tell me why? thx:)