投票法求众数
題目描述:
給定一個大小為 n 的數組,找到其中的多數元素。多數元素是指在數組中出現次數大于 ? n/2 ? 的元素。
你可以假設數組是非空的,并且給定的數組總是存在多數元素。
當然 :哈希法 , 排序再取中間+1數 都行。很簡單不實現
但效率遠遠比不上投票法~
來看看 投票法
class Solution { public://投票法 時間復雜度O(N ) 空間O(1)int majorityElement(vector<int>& nums) {int candidate = -1;//候選數int count =0;//票數for(auto num : nums){if(num == candidate){++count;//票數+1}else {--count;//候選數投票相對少1 if(count < 0){candidate = num;//更新候選數count =1;}}}return candidate;} };總結
- 上一篇: 梦三显示服务器列表,梦三国开服表_梦三国
- 下一篇: 家庭药品管理系统