标签:array 地址 int 不同 occurs 结果 down func for
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
.
http://www.lintcode.com/en/problem/majority-number/
int majorityNumber(vector<int> 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;
}
一个思路。同一时候删除两个不同的数。那么结果不会变
标签:array 地址 int 不同 occurs 结果 down func for
原文地址:http://www.cnblogs.com/mfmdaoyou/p/7227153.html