ohmyblog

#多数元素

经典题解析:数组里三个数各自出现超过 n/4 次,怎么找出来

先说明属性:这是一篇经典题解析,题目出自本地历史面试资料(原题面写作「三个数字出现超过 3/4」,按惯例理解为三个数各自出现次数超过 n/4),与任何公司的当前招聘无关。这道题是摩尔投票法的推广版,单候选版本人人会背,一推广到多候选就卡住一大片人。

经典题解析:数组里出现次数过半的数,O(n) 时间 O(1) 空间怎么做到

先说明属性:这是一篇经典题解析,题目出自本地历史面试资料(见文末来源说明),与任何公司的当前招聘无关。「找数组中出现次数超过一半的元素」这道题,几乎人人都能答出哈希计数,面试官真正想听的是那句进阶要求:O(n) 时间、O(1) 空间,怎么做?