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

169 多数元素

给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。

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

class Solution {

    public int majorityElement(int[] nums) {

       

           // 存储每个数字的出现次数

        HashMap<Integer, Integer> target = new HashMap<>();

        Integer data = 0;

        // 遍历数组,统计每个数字出现的次数

        for (int num : nums) {

            target.put(num, target.getOrDefault(num, 0) + 1);

        }

        // 找出只出现一次的数字

        for (Map.Entry<Integer, Integer> entry : target.entrySet()) {

            if (entry.getValue() > nums.length / 2) {

                data = entry.getKey(); // 返回只出现一次的数字

            }

        }

        return data;

    }

}

  • target.put(num, target.getOrDefault(num, 0) + 1);:这行代码是循环体,它执行以下操作:

    • target.getOrDefault(num, 0):这是HashMap的一个方法调用,它尝试从target映射中获取键num对应的值。如果键num不存在于映射中,则返回默认值0
    • + 1:这是对getOrDefault返回的值加1。
    • target.put(num, ...):这是HashMap的另一个方法调用,它将键num和计算出的新值(即原值加1)放入映射中。如果键num已经存在于映射中,则更新其值;如果不存在,则添加新的键值对。

总的来说,这段代码的作用是统计数组nums中每个数字出现的次数,并将这些统计结果存储在target HashMap中。target的键是数组中的数字,值是该数字在数组中出现的次数。


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

相关文章:

  • 浅谈AI的发展对IT行业的影响
  • 集合的奇妙世界:Python集合的经典、避坑与实战
  • 360嵌入式开发面试题及参考答案
  • P1044 [NOIP2003 普及组] 栈 C语言
  • 当当网近30日热销图书的数据采集与可视化分析(scrapy+openpyxl+matplotlib)
  • 论文速读|Matrix-SSL:Matrix Information Theory for Self-Supervised Learning.ICML24
  • 数据加密到信息安全算法
  • 程序员学英文之At the Airport Customs
  • Python NumPy(10):NumPy 统计函数
  • 初始化mysql报错cannot open shared object file: No such file or directory
  • android Camera 的进化
  • 三份网络与信息安全管理员(4级)题库(附参考答案)
  • 【LLM】DeepSeek-R1-Distill-Qwen-7B部署和open webui
  • 前端面试笔试题目(一)
  • 数据结构:队列篇
  • 1-2 飞机大战游戏场景
  • 磁感应编码器实现原理和C语言实现
  • 讯飞绘镜(ai生成视频)技术浅析(四):图像生成
  • MinDoc 安装与部署
  • C++范围for和auto关键字
  • 数据结构与算法 —— 常用算法模版
  • c++进制转换
  • 计算机网络部分知识点(王道考研笔记)
  • 第05章 15 VTK中Implicit Function的作用原理与基本应用场合
  • 本地部署DeepSeek开源多模态大模型Janus-Pro-7B实操
  • vue插件安装后使用没反应