leetcode de búsqueda binaria

Cuando la pregunta se busca grande o un pequeño número de la k-ésima k-ésimo tiempo, por lo general con una búsqueda binaria.

Binaria plantilla de búsqueda:

求第k小个
mientras que (l <r) 
{ 
    int mediados = l + (r - l) / 2; 
    int cnt = <= mediados的数量; 
    si (cnt <k) l = mediados + 1; 
    más r = centro; 
} 

求第k大个
mientras que (l <r) 
{ 
    int mediados = l + (r - l) / 2 + 1; 
    int cnt = (> = mediados的数量); 
    si (cnt <k) r = mid - 1; 
    más l = centro; 
}

 

Al ordenar los elementos, se puede comprobar si se puede utilizar el doble puntero

Supongo que te gusta

Origin www.cnblogs.com/mychen06/p/12597627.html
Recomendado
Clasificación