169. 多数元素
原题
class Solution { public int majorityElement(int[] nums) { if(nums.length==1){ return nums[0]; } //数组排序 Arrays.sort(nums); //统计出现最多的次数 int count = 0; //保存结果 int res = nums[0]; //指向当前元素 int i =0; //指向当前元素的下一个元素 int j=i+1; while(j<nums.length){ //如果不相等,则计算出现次数 if(nums[i]!=nums[j]){ if(count<j-i){ count = j-i; res =nums[i]; i=j; j++; } } j++; } //到这,判断最后一组数是否相等(因为在while循环里不能保证最后一个元素相等的判断) //若最后一个元素和nums[i]相等,并且出现次数大于count if(count<j-i&&nums[i]==nums[j-1]){ res =nums[i]; } return res; }}
来源地址:https://blog.csdn.net/qq_64403619/article/details/133720814