天天看点

题目 :主元素

给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。

您在真实的面试中是否遇到过这个题? Yes 哪家公司问你的这个题? Airbnb Alibaba Amazon Apple Baidu Bloomberg Cisco Dropbox Ebay Facebook Google Hulu Intel Linkedin Microsoft NetEase Nvidia Oracle Pinterest Snapchat Tencent Twitter Uber Xiaomi Yahoo Yelp Zenefits 感谢您的反馈 样例

给出数组[1,1,1,1,2,2,2],返回 1

挑战

要求时间复杂度为O(n),空间复杂度为O(1)

标签 Expand 贪心 枚举法 LintCode 版权所有

相关题目 Expand         

public class Solution {

    public int majorityNumber(ArrayList<Integer> nums) {

        // write your code

        int count = 1;

          int result = nums.get(0);

          for (int i = 1; i < nums.size(); i++) {

               if (count == 0)

                    result = nums.get(i);

               if (nums.get(i) == result) {

                    count++;

               }else if(nums.get(i)!=result){

                    count --;

               }

          }

          return result;

    }

}