标签:bsp 存在 序列 tco 并且 == 比较 情况 pre
求众数
给定一个大小为 n 的数组,找到其中的众数。
你可以假设数组是非空的,并且给定的数组总是存在众数。
示例 1:
输入: [3,2,3] 输出: 3
示例 2:
输入: [2,2,1,1,1,2,2] 输出: 2
用到的算法是:摩尔投票算法
算法在局部变量中定义一个序列元素(value)和一个计数器(count),
class Solution { public int majorityElement(int[] nums) { if(nums == null) return -1; int count = 1, maj = nums[0]; //先第一个元素基准 for(int i=1; i<nums.length; i++){ if(maj == nums[i]) //找到相同的数,count++ count++; else{ count--; //找不到相同的数,count-- if(count == 0){ // 如果计数为0,则取下一个为基准 maj = nums[i]; count = 1; } } } return maj; } }
标签:bsp 存在 序列 tco 并且 == 比较 情况 pre
原文地址:https://www.cnblogs.com/lisen10/p/10716356.html