开发什么网站,如何做好网站建设前期网站规划,vivo官网网站服务中心,南通营销网站开发题目 给定一个大小为 n 的数组 nums #xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的#xff0c;并且给定的数组总是存在多数元素。 解题思路
利用Arrays自带的函数对数组进行排序#xff1b;记录起始位置和…题目 给定一个大小为 n 的数组 nums 返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的并且给定的数组总是存在多数元素。 解题思路
利用Arrays自带的函数对数组进行排序记录起始位置和元素值当元素值不同时进行计算元素出现次数符合要求以当前元素为结果返回不符合要求则以当前位置为起始点继续进行遍历。
代码展示
public class Nine {public static void main(String[] args) {Nine nine new Nine();System.out.println(nine.majorityElement(new int[]{3,2,3}));System.out.println(nine.majorityElement(new int[]{2,2,1,1,1,2,2}));}public int majorityElement(int[] nums) {int n nums.length;Arrays.sort(nums);int start 0;int code nums[0];for (int i 1; i n; i){if(nums[i] ! code){if(i - start n / 2){return code;}code nums[i];start i;}}return code;}
}