剑指Offer39.数组中出现次数超过一半的数字
Posted ghlz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指Offer39.数组中出现次数超过一半的数字相关的知识,希望对你有一定的参考价值。
题目:
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。
你可以假设数组是非空的,并且给定的数组总是存在多数元素。
示例 1:
输入: [1, 2, 3, 2, 2, 2, 5, 4, 2] 输出: 2
限制:
1 <= 数组长度 <= 50000
解题思路:
由于要寻找的是出现次数超过数组长度一半的数字,首先想到的数组进行排序,其次就发现所要寻找的数字就是数组最中间的数字。
代码:
public static int majorityElement(int[] nums) { Arrays.sort(nums); return nums[(nums.length)/2]; }
以上是关于剑指Offer39.数组中出现次数超过一半的数字的主要内容,如果未能解决你的问题,请参考以下文章
剑指 Offer 39. 数组中出现次数超过一半的数字 的 详细题解