Leetcode-169 Majority Element
生活随笔
收集整理的這篇文章主要介紹了
Leetcode-169 Majority Element
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#169 Majority Element
Given an array of size n, find the majority element. The majority element is the element that appears more than? n/2 ? times.
You may assume that the array is non-empty and the majority element always exist in the array.
題解:題目已經肯定主元素一定存在,且出現次數大于n/2,數組又假定已經非空。采用分治法,每找到兩個不同的元素,則成對刪除,最終剩下的一定就是所求的。
1 class Solution { 2 public: 3 ??? int majorityElement(vector<int>& nums) { 4 ??????? int most = 0; 5 ??????? int cnt = 0; 6 ??????? for(int i=0;i<nums.size();i++) 7 ??????? { 8 ??????????? if(cnt==0) 9 ????? ??????{ 10 ??????????????? most=nums[i]; 11 ??????????????? cnt++; 12 ??????????? } 13 ??????????? else 14 ??????????? { 15 ??????????????? if(nums[i]==most) 16 ??????????????? { 17 ??????????????????? cnt++; 18 ??????????????? } 19 ??????????????? else 20 ??????????????? { 21 ????????????? ??????cnt--; 22 ??????????????? } 23 ??????????? } 24 ??????????? 25 ??????? } 26 ??????? return most; 27 ??? } 28 };
?
轉載于:https://www.cnblogs.com/fengxw/p/6061602.html
總結
以上是生活随笔為你收集整理的Leetcode-169 Majority Element的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OLTP与OLAP
- 下一篇: 阿里云Https部署网站