在求绝对众数的情景(绝对众数的出现次数大于总元素数的一半。)不适用于一般众数
过程:让我们把找到绝对众数的过程想象成一次选举。我们维护一个 m,表示当前的候选人,然后维护一个 cnt 。
对于每一张新的选票,如果它投给了当前的候选人,就把cnt加1,否则就把cnt减1。
特别地,计票时如果 cnt=0 ,我们可以认为目前谁都没有优势,所以新的选票投给谁,谁就成为新的候选人。
在求绝对众数的情景(绝对众数的出现次数大于总元素数的一半。)不适用于一般众数
过程:让我们把找到绝对众数的过程想象成一次选举。我们维护一个 m,表示当前的候选人,然后维护一个 cnt 。
对于每一张新的选票,如果它投给了当前的候选人,就把cnt加1,否则就把cnt减1。
特别地,计票时如果 cnt=0 ,我们可以认为目前谁都没有优势,所以新的选票投给谁,谁就成为新的候选人。