题目:
Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊
n/2 ⌋
times.
You may assume that the array is non-empty and the majority element always exist in the array
题意:
给定一个大小为n的数组,找出其中的多数元素。所谓多数元素,就是这个元素在数组中的显示频率大于⌊ n/2 ⌋
你可以假设数组非空,并且多数元素一直存在。
算法分析:
可以采用快速排序对数组中的元素进行重新的排列,排序后数组中的中间元素就是多数元素。
快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现,这个排序算法,是JAVA自带的优化的快速排序算法。
总有地方体现Java的优越性,JAVA相对于C++来说就相当于自动挡的汽车,虽然加速不快,但是操作总是很方便的。
代码如下:
public class Solution
{
private int finalnum;
public int majorityElement(int[] nums)
{
int renums[];
Arrays.sort(nums);
finalnum=nums[nums.length/2];
return finalnum;
}
}