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

46. 主元素

时间:2018-02-06 22:57:11      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:==   for   大于   collect   div   ram   排序   之一   一个   

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

思路:题目中又说要严格大于数组个数的二分之一,所以先给数组先排序。如果存在的话那数组中间的那个数一定是主元素。所以只需要计算和中间元素相同的个数,然后判断是否大于二分之一就可以了。

 

public class Solution {
/*
* @param nums: a list of integers
* @return: find a majority number
*/
public int majorityNumber(List<Integer> nums) {
// write your code here
int max=0;
int len = nums.size();
Collections.sort(nums);
int temp = nums.get(len/2);
for(int i = 0;i<len;i++){
if(temp == nums.get(i)){
max++;
}
}

if(max>len/2){
return temp;
}else{
return 0;
}
}
}

46. 主元素

标签:==   for   大于   collect   div   ram   排序   之一   一个   

原文地址:https://www.cnblogs.com/Pjson/p/8424398.html

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