Méthode efficace pour compter les occurrences d'une clé dans un tableau trié

Cela a été demandé sur le site de Microsoft à l'entrevue.

Compter le nombre d'occurrences d'une clé donnée dans un tableau.

J'ai répondu recherche linéaire car les éléments peuvent être dispersées dans l'
tableau. Dire que la clé se trouve au début et à la fin. Nous avons donc
besoin de numériser l'ensemble du tableau.

Ensuite, il a demandé à ce que si le tableau est trié?

Pensé pendant un moment et dit que je vais utiliser la recherche linéaire de nouveau. Parce que le
les répétitions de la clé si le présent peut être n'importe où dans le tableau. Comme un
optimisation j'ai aussi dit que si le premier et le dernier éléments du tableau sont les mêmes que vous
peut prendre la longueur du tableau comme la réponse.

Mon analyse est correcte dans les deux cas?

Exemple:

Input = [0 0 1 1 1 2 2 3 3], key = 1, Answer = 3
Input = [0 0 2 2 3 3],       key = 1, Answer = 0

source d'informationauteur Edward