Majority Number

2015-07-22 20:10:13 · 作者: · 浏览: 14

?

题目描述

Given an array of integers, the majority number is the number that occurs more than half of the size of the array. Find it..

Example

Given [1, 1, 1, 1, 2, 2, 2], return 1

Challenge

O(n) time and O(1) extra space

.

?

解法

    int majorityNumber(vector
   
     nums) { // write your code here int ret, num = 0; for (int i = 0; i < nums.size(); i++) { if (num == 0) { ret = nums[i]; num++; } else { if (nums[i] == ret) { num++; } else { num--; } } } return ret; }
   

算法解释

一个思路,同时删除两个不同的数,那么结果不会变

?