**Difficulty: Medium**

Given an unsorted array return whether an increasing subsequence of length 3 exists or not in the array.

Formally the function should:

Return true if there exists i, j, k

such that

1 arr[i] < arr[j] < arr[k]given

1 0 ≤ i < j < k ≤ n-1else return false.

Your algorithm should run in **O(n)** time complexity and **O(1)** space complexity.

#### Examples:

Given

1 | [1, 2, 3, 4, 5] |

,

return

1 | true |

.

Given

1 | [5, 4, 3, 2, 1] |

,

return

1 | false |

.

### Solutions:

double cursors (min + second min)