当前位置: 首页 > article >正文

【力扣热题100】—— Day20.多数元素

如果你的心里埋下了一颗争气的种子,那么努力就成为了必修课

                                                                                                —— 25.1.9

169. 多数元素

给定一个大小为 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

方法一 排序法

思路与算法

因为传入的是一个数组/列表,且数组非空,数组总是存在多数元素,所以我们只需要将数组进行排序,然后找到数组长度一半索引的位置的元素,即为多数元素,将其返回

排序可以使用封装好的方法,在 Java 中, Arrays.sort()方法是用于对数组进行排序的常用方法。对于基本数据类型数组,它会按照自然顺序进行排序。此方法将会修改原数组,使原数组由小到大进行排序

在Python中,使用sorted()函数,sorted()是 Python 内置的排序函数,它可以对任何可迭代对象(如列表、元组、字符串等)进行排序,并返回一个新的已排序的对象,原对象不变。对于列表,它会按照元素的自然顺序进行排序。


Java实现

class Solution {
    public int majorityElement(int[] nums) {
        Arrays.sort(nums);
        int n = nums.length;
        return nums[n/2];
    }
}


Python实现

class Solution:
    def majorityElement(self, nums: List[int]) -> int:
        n = len(nums)
        newNums = sorted(nums)
        return newNums[n//2] 


http://www.kler.cn/a/488848.html

相关文章:

  • Kotlin学习(一)
  • 用c实现C++类(八股)
  • 代码随想录刷题day04|(数组篇)209.长度最小的子数组
  • idea全局替换显示不全(ctrl+shift+R)
  • 视频编辑最新SOTA!港中文Adobe等发布统一视频生成传播框架——GenProp
  • IvorySQL 升级指南:从 3.x 到 4.0 的平滑过渡
  • 【网络协议】动态路由协议
  • 深入探索AI核心模型:CNN、RNN、GAN与Transformer
  • 【Leetcode-移动零】利用将非零元素移动至数组前解决移动零问题(剪枝优化)
  • TypeScript语言的网络编程
  • Linux第一个系统程序---进度条
  • 详细分析 Git 分支重命名与同步操作
  • Harmony OS开发-ArkUI框架速成八之交叉轴和自适应
  • 【Qt】控件概述和QWidget核心属性1(enabled、geometry、windowTitle、windowIcon、QRC机制)
  • 全文搜索-搜索权限,非侵入文档同步,权限同步 ,扩展字段
  • 深度解析如何使用Linux中的git操作
  • Python 教程 - 基本语句
  • 【Golang 面试题】每日 3 题(二十四)
  • LeetCode 3297.统计重新排列后包含另一个字符串的子字符串数目 I:滑动窗口
  • 机器学习05-最小二乘法VS梯度求解
  • 单片机实现模式转换
  • 日语IT用语笔记
  • c++入门之 命名空间与输入输出
  • 力扣-数组-121 买卖股票的最佳时机
  • qml SpringAnimation详解
  • 【AI-22】深度学习框架中的神经网络2