如题意,数组中重复元素大于n/2的数,最极限的情况两个重复元素连续在一起。至少是这样的。可以转变成求连续重复元素最多的数的问题。所以可以用一个计数count,和最多纪录major。来循环遍历这个数组。求出连续重复元素最多的数。源码如下。
public class Solution { public int majorityElement(int[] num) { int major=num[0], count = 1; for(int i=1; i<num.length;i++){ if(count==0){ count++; major=num[i]; }else if(major==num[i]){ count++; }else count--; } return major; }}
这个告诉我们要仔细研究题目所给条件,找出其中规律。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。