码迷,mamicode.com
首页 > 其他好文 > 详细

Majority Number

时间:2017-07-24 09:50:53      阅读:156      评论:0      收藏:0      [点我收藏+]

标签: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;
    }

算法解释

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

Majority Number

标签:array   地址   int   不同   occurs   结果   down   func   for   

原文地址:http://www.cnblogs.com/mfmdaoyou/p/7227153.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!