登录
首页 >  文章 >  java教程

Leetcode — 顶级访谈 — 多数元素

来源:dev.to

时间:2024-11-05 19:24:53 144浏览 收藏

小伙伴们有没有觉得学习文章很有意思?有意思就对了!今天就给大家带来《Leetcode — 顶级访谈 — 多数元素》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

Leetcode — 顶级访谈 — 多数元素

这是一个简单的问题,描述如下:

给定一个大小为 n 的数组 nums,返回多数元素。

多数元素是出现超过 ⌊n/2⌋ 次的元素。您可以假设多数元素始终存在于数组中。

示例1:

输入:nums = [3,2,3]
输出:3

示例2:

输入:nums = [2,2,1,1,1,2,2]
输出:2

限制:

n == nums.length
1 <= n <= 5 * 104
-109 <= nums[i] <= 109

乍一看,您会考虑制作一张地图,然后收集显示最多的地图。

再想一想,如果你可以排序并找到出现最多的那个就可以了。

还有一个更简单的方法。如果您仔细阅读说明,您会明白多数元素是指出现超过数组一半的元素。

考虑到这一点,如果你对其进行排序并获取中间的索引,那就可以解决问题:

class Solution {
    public int majorityElement(int[] nums) {

        // sort
        Arrays.sort(nums);

        // if by majority element it means that appears more than half of nums size
        // then picking the middle element would be the one that's a majority element
        return nums[nums.length / 2];
    }
}

运行时间:4 毫秒,比 54.53% 的 java 在线提交的多数元素要快。

内存使用:53.5 mb,少于 java 在线提交的多数元素的 9.23%。

就是这样!如果还有什么要讨论的,请随时发表评论,如果我错过了任何内容,请告诉我,以便我进行相应更新。

直到下一篇文章! :)

本篇关于《Leetcode — 顶级访谈 — 多数元素》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>