Question:
Given an array, does it exist that
I < J < K where a[i] < A[j] < [K].
option 1.// brute force.// given any index i, return true if there exists:// A[m] < A[i], m < i// A[n] > a[i], n > iboolean haslessinleft (int[] a, int i) { for (int index = 0 ; index < i ; index ++) { if (A[index] < a[i]) Return true; } return false;} Boolean hasmoreinright (int[] a, int i) { ... }// o (n ^ 2) Boolean has3increasing (Int[] a) { for (int i = 0 ; i < a.length ; i ++) { if (Haslessinleft (a, i) && hasmoreinright (a, i)) &nbsP;return true; } return false;} a better solution?// maintain min, midboolean has3increasing (int[] A) { integer min = null; integer mid = null; for (Int i : a) { if (min == null | | i < min) { min = i; } else if (mid == null | | i < mid) { mid = i } else if (i > MID) // This means there must be a min before mid. { return true;&nbSp; } } return false;}
I<j<k