码迷,mamicode.com
首页 > 编程语言 > 详细

剑指Offer39.数组中出现次数超过一半的数字

时间:2020-07-17 14:03:08      阅读:55      评论:0      收藏:0      [点我收藏+]

标签:数组   sort   offer   col   public   有一个   class   java   中间   

题目:

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。

你可以假设数组是非空的,并且给定的数组总是存在多数元素。 

示例 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.数组中出现次数超过一半的数字

标签:数组   sort   offer   col   public   有一个   class   java   中间   

原文地址:https://www.cnblogs.com/ghlz/p/13329071.html

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