自觉咖啡豆

文章
12
资源
0
加入时间
3年0月27天

数组中有一个数字出现的次数超过了数组长度的一半,找出这个数

看到这个题,我的第一思路是:哈希表记录每个元素出现的次数,还有排序,然后取中间的元素。看了其他人的博客,发现还有一种巧妙的方法是一遍扫描法。总结解题思路:1.哈希。2.排序。3.一遍扫描:这个算法的时间复杂度是O(n),另外用了两个辅助变量。     k用于临时存储数组中的数据,j用于存储某个数出现的次数。     开始时k存储数组中的第一个数,j为0,如果