Como encontrar o k-ésimo elemento na união de duas matrizes ordenadas?
Esta é uma pergunta de lição de casa. Eles dizem que é precisoO(logN + logM)
OndeN
eM
são os comprimentos das matrizes.
Vamos nomear as matrizesa
eb
. Obviamente, podemos ignorar tudoa[i]
eb[i]
onde eu> k.
Primeiro vamos comparara[k/2]
eb[k/2]
. Deixeib[k/2]
> a[k/2]
. Portanto, podemos descartar também todosb[i]
, onde i> k / 2.
Agora temos todosa[i]
, onde eu e todosb[i]
, onde i <k / 2 para encontrar a resposta.
Qual é o próximo passo?