class Solution { public: int majorityElement(vector<int>& nums) { int res = 0; int cnt = 0; if (nums.empty()) return 0; // 本质上就是相互抵消, 不过这代码写起来也是风骚 // 先假设第一个就是res, 然后对其技术, 如果和后面的数不想等等,就相当于被抵消了, 所以就是cnt--; // 直到等于0的时候, 这个res就失去了价值, 所以一切从头开始(紧邻的那个数就相当于重新开始这一个过程) for (int i = 0; i < nums.size(); i++) { if (cnt == 0) { res = nums[i]; cnt++; } else (nums[i] == res) ? cnt++ : cnt--; } return res; } };
leetcode169 求众数
猜你喜欢
转载自blog.csdn.net/weixin_36149892/article/details/80241298
今日推荐
周排行