每日一练-算法
LeetCode 169-多数元素
思路解法
一、暴力解法
暴力解法就是循环遍历:缺点:时间复杂度比较大
二、哈希表法
哈希表通过key-value和HashMap的方式,遍历一遍即可
缺点:需要申请HashMap,内存占用不够小
三、摩尔投票法
思路:就像两军交战,一打一,人数多的会获得最终胜利
基本算法:
int count = 0;
int res= nums[0];
while(nums[i]) {
if (res == nums[i]) {
count++;
} else {
count--;
}
if (count == -1) {
count = 0;
res = nums[i];
}
}
return res;