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;
}

results matching ""

    No results matching ""