[] Dibujado a mano ilustración de dibujos animados LeetCode la secuencia ascendente (título LeetCode300) más larga, la búsqueda binaria algoritmo voraz +

Aquí Insertar imagen Descripción

LeetCode gráfico plan de título cepillo

1, EDITORIAL

serie de dibujos pintados a mano, lanzó formalmente! ! ! "Cepillo plan de LeetCode título gráfico" venir! ! !

Hoy es el quinto, por un día, hasta dos días uno, recepción para supervisar. . . Sin supervisión pública de los mejores! ! !
Aquí Insertar imagen Descripción
Hoy es el algoritmo voraz, así como deliciosos ~
Aquí Insertar imagen Descripción

2, título

En primer lugar, mirada en el título,
Aquí Insertar imagen Descripción
primero debe pensar en el primer algoritmo voraz tiempo, ¿por qué?

Si desea elevarse secuencias mayor tiempo posible, entonces debemos dejar que la secuencia se eleva lo más lentamente posible (preferiblemente un solo cambio 1).

no porque tenga algoritmos finalización. . . La programación dinámica no aprendió. . . Este período será larga experiencia!

desgraciada palabra capital!

algoritmo voraz (también conocido como el algoritmo voraz) significa que, cuando la resolución de problemas, siempre realizados en las actuales parece ser la mejor opción.

Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

3, el cuerpo

En primer lugar, analizar la situación,

Aquí lo más importante es la idea de que los codiciosos algoritmo - tener en cuenta si desea que la secuencia se eleve el mayor tiempo posible, a continuación, dejar crecer posible secuencia de lento, por lo que es necesaria la creación de una matriz, que es d.

Atravesar toda la gama buscando secuencia ascendente, siempre y cuando la siguiente mayor elemento que el último elemento en la primera lectura, y después se dguarda al final de la subida mínima más larga en el sub-elemento de la comparación de secuencias, si pueden cumplir con el algoritmo voraz, en la entrada, y así sucesivamente.
Aquí Insertar imagen Descripción
Aquí la gente aplaude wow --3 un punto es, no sé por qué se ve la cosa?

complejidad:

  • Complejidad de tiempo: O ( n l o g n ) O (nlogn) . colección nums \ textit {} nums longitudn, es la búsqueda binaria O ( log n ) O (\ log n) .
  • Espacio de la complejidad: O ( n ) O (n) , la longitud denla matrizd.

Aquí Insertar imagen Descripción

4, el código

int lengthOfLIS(int* nums, int numsSize){
    int len = 1;
    if (numsSize == 0) return 0;
    int d[numsSize+1];
    d[len] = nums[0];
    for (int i = 1; i < numsSize; ++i) {
        if (nums[i] > d[len]){
        	d[++len] = nums[i];
        }
        else{
            int l = 1, r = len, pos = 0; 
            while (l <= r) {
                int mid = l + (r - l)/2;
                if (d[mid] < nums[i]) {
                    pos = mid;
                    l = mid + 1;
                }
                else {
                	r = mid - 1;
                }
            }
            d[pos + 1] = nums[i];
        }
    }
    return len;
}

Aquí Insertar imagen Descripción

5, para discutir

1, en el sentido estricto, este binario problema de búsqueda y nada particular gran relación, 23333.

Con la vista de un estudio de caso que:
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

2. ¿Por qué matriz dSi d[numsSize+1]?

La razón es simple, con el fin de garantizar la sincronización subíndice.

3, la matriz daumenta monotónicamente cosa?

Solución a un problema en el LeetCode miraba, sintiendo no tan bueno como evidencia directa de lo contrario vendrá rápido, dde hecho, la secuencia más larga que necesitamos, ya que va en aumento, por lo que, naturalmente, va en aumento.
Aquí Insertar imagen Descripción

Si usted tiene la oportunidad de ayudar a usted, por favor, ayúdame [como] un punto, a una [atención]! Si puedo por cierto [Comentario] ánimo de dar, lo agradecería.

Si quieres más recursos, bienvenido! Estoy preocupado por la pequeña luz del tubo, texto trastorno obsesivo-compulsivo MAX ~

Responder estructuras de datos [] para conseguir el regalo que hice para ti.

¿Quieres ver más texto (segmento) Sección (sub), dio la bienvenida a la concentración en número de micro-canales pública "pequeño tubo de luz programador" ~

Aquí Insertar imagen Descripción

Publicados 238 artículos originales · ganado elogios 5117 · Vistas de 830.000 +

Supongo que te gusta

Origin blog.csdn.net/TeFuirnever/article/details/105317429
Recomendado
Clasificación