众数的思路,挺好的。
int cond = -1;
int cnt = 0;
for (int i=0; i<numbers.size(); ++i) {
if (cnt == 0) {
cond = numbers[i];
++cnt;
}
else {
if (cond == numbers[i]) ++cnt;
else --cnt;
}
}
return cond;//不用检查,直接返回。
//检查是否是众数,这一步此题是不需要的。
// cnt = 0;
// for (const int k :numbers) {
// if (cond == k) ++cnt;
// }
// if (cnt > numbers.size() / 2) return cond;
// return 0;
}
};



京公网安备 11010502036488号