C'est la question exacte du site web.
Soit un tableau trié de 10 éléments qui contient 6 nombres différents, dont un seul est répété cinq fois. Votre tâche consiste à trouver le numéro en double en utilisant deux comparaisons seulement.
Je ne suis pas sûr de ce que signifie "deux comparaisons" ici. Pourriez-vous m'éclairer à ce sujet ? Merci.
Voici mon code en réponse à cette question.
using namespace std;
int FindDuplicate(vector<int>& nums)
{
int count = 1, marked = 0;
for (int i = 0; i < nums.size(); i++)
{
if (nums[i + 1] == nums[marked])
{
count++;
if (count == 5)
return nums[marked];
}
else
{
marked = i + 1;
count = 1;
}
}
return 0;
}