Dada una matriz no ordenada, devuelve si existe o no una subsecuencia creciente de longitud 3 en la matriz.
Ejemplos:
Dado [1, 2, 3, 4, 5],
devuelve verdadero.
Dado [5, 4, 3, 2, 1],
falso retorno.
Análisis
Este problema se puede formalizar como encontrar una secuencia x, y y z, tal que x
Solución Java
public boolean increasingTriplet(int[] nums) { int small = Integer.MAX_VALUE; int big = Integer.MAX_VALUE; for (int num: nums) { if (num <= small) { small = num;// update x to be a smaller value } else if (num <= big) { big = num; // update y to be a smaller value } else { return true; } } return false; } |