Increasing Triplet Subsequence
Return true if there exists i, j, k such that arr[i] < arr[j] < arr[k] given 0 ≤ i < j < k ≤ n-1 else return false. Given [1, 2, 3, 4, 5], return true. Given [5, 4, 3, 2, 1], return false.
- Time: O(n)
- Space: O(1)
public boolean increasingTriplet(int[] nums) {
int small = Integer.MAX_VALUE, big = Integer.MAX_VALUE;
for (int num : nums) {
if (num <= small) {
small = num;
} else if (num <= big) {
big = num;
} else {
return true;
}
}
return false;
}