考查点:数组
该问题很容易理解,我们只需要找到数组中的众数即可。很简单的思路是统计所有出现的数,找到出现次数占总数量一半的就是最终答案,而还有一种解法,我们可以先对数组排序,位于中间位置的数一定就是占总数量一半的元素。这样就可以以时间复杂度O(logn),空间复杂度O(1)解决问题。
Java题解如下:
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @return int整型
*/
public int majority_cow (int[] nums) {
// write code here
Arrays.sort(nums);
return nums[nums.length / 2];
}
}



京公网安备 11010502036488号