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

[经典面试题]169. 多数元素

题目描述

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

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

示例 1:

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

示例 2:

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

解题方法分析: 

使用哈希算法(HashMap)来存储每个元素以及出现的次数。通过求解哈希映射中的每个键值对,键表示一个元素,值表示该元素出现的次数,统计出数组出现的数字次数最多的那一过。

首先循环遍历数组 nums 并将数组中的每个元素加入哈希映射中。在这之后,我们遍历哈希映射中的所有键值对,返回值最大的键,这样就可以通过哈希统计出出现次数最多的数字。

代码:

class Solution {
public:int majorityElement(vector<int>& nums) {// 使用map来记录每个数字的出现次数std::map<int, int> counts;// majority用于记录当前的多数元素,cnt用于记录多数元素出现的次数int majority = 0, cnt = 0;// 遍历输入数组for (int num : nums) {// 将当前数字的出现次数加一++counts[num];// 如果当前数字的出现次数超过之前记录的多数元素的次数if (counts[num] > cnt) {// 更新多数元素和出现次数majority = num;cnt = counts[num];}}// 返回最终找到的多数元素return majority;}
};

相关文章:

[经典面试题]169. 多数元素

题目描述 给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例 1&#xff1a; 输入&#xff1a;nums [3,2,3] 输出&#xff1a;3…...

Wireshark网络协议分析 - TCP协议

在我的博客阅读本文 文章目录 1. 基础2. 实战2.1. 用Go写一个简单的TCP服务器与客户端2.2. Wireshark抓包分析2.3. 限制数据包的大小——MSS与MTU2.4. 保证TCP的有序传输——Seq&#xff0c;Len与Ack2.5. TCP头标志位——URG&#xff0c;ACK&#xff0c;PSH&#xff0c;RST&…...

3 款最好的电脑硬盘数据迁移软件

您将从本页了解 3 款最好的 SSD硬盘数据迁移软件&#xff0c;磁盘供应商提供的软件和可靠的第三方软件。仔细阅读本文并做出您的选择。 什么是数据迁移&#xff1f; 数据迁移是将数据移动到其他计算机或存储设备的过程。在日常工作活动中&#xff0c;常见的数据迁移有三种&…...

【Java之HTML】

HTML 概念 互联网的产生&#xff1a;w3c的成立&#xff0c; ​ 互联网最开始设计的目的&#xff1a;看论文 ---->浏览器&#xff0c;HTML ​ 网络三要素&#xff1a;HTML HTTP URL HTML描述论文的格式 HTTP标记这个论文在网络上怎么传输 URL:指示这个论文在互联网的哪…...

支付宝支付功能解析,从零到掌握,轻松享受便捷支付

目录 一、支付宝支付功能简介 1.1 支付宝支付的概念 1.2 支付宝支付的优势 1.3 支付宝支付的适用场景 二、支付宝支付的准备工作 三、支付宝支付的接入流程 四、支付宝支付的安全性 5.1 支付宝支付的安全机制 5.2 防范支付风险的措施 5.3 支付宝支付的安全技术保障 …...

MacOS安装反编译工具JD-GUI以及解决无法打开的问题

目录 一.下载地址 二.安装 三.问题 四.解决办法 1.显示包内容 2.找到Contents/MacOS/universalJavaApplicationStub.sh 3.修改sh文件 4.保存后再次打开即可 一.下载地址 Java Decompiler 二.安装 将下载下来的 jd-gui-osx-1.6.6.tar 解压&#xff0c;然后将 JD-GUI.a…...

SpringBoot将第三方的jar中的bean对象自动注入到ioc容器中

新建一个模块&#xff0c;做自动配置 config&#xff1a;需要准备两个类&#xff0c;一个自动配置类&#xff0c;一个配置类 CommonAutoConfig&#xff1a;此类用于做自动配置类它会去读取resoutces下的META-INF.spring下的org.springframework.boot.autoconfigure.AutoConfig…...

5.变量的解构赋值 - JS

什么是解构赋值 通过类似&#xff08;或相同&#xff09;的构型&#xff0c;将已知数据的元素/属性解构并提取出来&#xff0c;再赋值到相应变量&#xff0c;可以是新建的变量&#xff0c;也可以是已存在的变量/属性等&#xff1b;最常见的是数组和对象的解构赋值&#xff0c;…...

tableau添加形状

目录 1.效果&#xff1a;1.自带的形状&#xff1a;2.添加形状&#xff1a;小结&#xff1a; 1.效果&#xff1a; 1.自带的形状&#xff1a; 2.添加形状&#xff1a; 找到tableau的安装目录&#xff0c;点入 默认->形状 的文件夹&#xff1a; 新建一个文件夹&#xff1a; …...

(2)(2.10) LTM telemetry

文章目录 前言 1 协议概述 2 配置 3 带FPV视频发射器的使用示例 4 使用TCM3105的FSK调制解调器示例 前言 轻量级 TeleMetry 协议 (LTM) 是一种单向通信协议&#xff08;从飞行器下行的数据链路&#xff09;&#xff0c;可让你以低带宽/低波特率&#xff08;通常为 2400 波…...

工具推荐系列-极客编辑器(实时在线编写md文件同步GitHub)

工具项目地址&#xff1a;https://github.com/geekeditor/geekeditor-desktop-releases/tree/main 工具基础配置方法&#xff1a;https://www.geekeditor.com/workspace1.x.html 详细同步代码仓的方法可以用下面&#xff1a; 如何创建GitHub仓库 及生成获取AccessToken&#xf…...

3d gaussian splatting介绍整理

3D 高斯分布是用于实时辐射场渲染的 3D 高斯分布中描述的一种光栅化技术&#xff0c;它允许实时渲染从小图像样本中学习到的逼真场景。 paper github 本文翻译整理自&#xff1a; blog: Introduction to 3D Gaussian Splatting DDPMs - Part 2 给出一些2D图片&#xff0c;用…...

[C#]de4dot常用命令

命令&#xff1a;de4dot.exe "D:\xxx.exe" 解释&#xff1a;运行后文件在程序集的目录下生成一个带-cleaned的新程序集。 命令&#xff1a;de4dot.exe file1 -f "D:\xxx.exe" -o "D:\output\xxx_cleaned.exe" 解释&#xff1a;-f : 指定.NET 程序…...

林浩然的“生命体验”大冒险

林浩然的“生命体验”大冒险 Lin Haoran’s “Life Experience” Grand Adventure 在一个阳光明媚的日子&#xff0c;林浩然——我们这位幽默风趣、充满生活智慧的大男孩&#xff0c;正坐在自家后院的老槐树下&#xff0c;手捧一本哲学书&#xff0c;皱着眉头深思&#xff1a;“…...

设计模式——职责链模式(Chain of Responsibility Pattern)

概述 职责链模式(Chain of Responsibility Pattern)&#xff1a;避免请求发送者与接收者耦合在一起&#xff0c;让多个对象都有可能接收请求&#xff0c;将这些对象连接成一条链&#xff0c;并且沿着这条链传递请求&#xff0c;直到有对象处理它为止。职责链模式是一种对象行为…...

C++引用详解

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C/C》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 一、引用的概念 引用不是新定义一个变量&#xff0c;而是给已存在变量取了一个别名&#xff0c;编译器不会为引用变量开辟内存空间…...

fMRI数据处理(随时更新)

要开始学习处理fMRI的数据了。 fMRI的数据一般有 dcm 格式和 nii 格式。 Nifti&#xff08;Neuroimaging Informatics Technology Initiative&#xff0c;神经影像信息学技术倡议&#xff09;文件格式&#xff0c;是目前各大神经影像分析工具普遍兼容的体素水平的数据格式&am…...

【Linux C | 网络编程】getsockname 和 getpeername函数详解及C语言例子

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…...

研发日记,Matlab/Simulink避坑指南(六)——字节分割Bug

文章目录 前言 背景介绍 问题描述 分析排查 解决方案 总结归纳 前言 见《研发日记&#xff0c;Matlab/Simulink避坑指南&#xff08;一&#xff09;——Data Store Memory模块执行时序Bug》 见《研发日记&#xff0c;Matlab/Simulink避坑指南(二)——非对称数据溢出Bug》…...

(M)unity受伤反弹以及死亡动画

受伤反弹 1.在人物控制脚本中添加受伤后速度将为0&#xff0c;并添加一个反弹的力 在刷新移动时&#xff0c;需要在没有受伤的状态 public bool isHurt; public float hurtForce; private void FixedUpdate() {if(!isHurt)Move(); }public void GetHurt(Transform attacker) …...

奇异线性系统与矩阵方程数值解法【附仿真】

✨ 长期致力于奇异线性方程组、鞍点问题、块二乘二线性方程组、矩阵方程、偏微分方程、最小范数最小二乘解、迭代方法、预处理、Schwarz-Christoffel映射、Sherman-Morrison-Woodbury公式研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕…...

高效突破小红书反爬:7个实用User-Agent伪装技巧与实战指南

高效突破小红书反爬&#xff1a;7个实用User-Agent伪装技巧与实战指南 【免费下载链接】XHS-Downloader 小红书&#xff08;XiaoHongShu、RedNote&#xff09;链接提取/作品采集工具&#xff1a;提取账号发布、收藏、点赞、专辑作品链接&#xff1b;提取搜索结果作品、用户链接…...

告别电脑休眠烦恼:MouseJiggler鼠标抖动工具完全指南

告别电脑休眠烦恼&#xff1a;MouseJiggler鼠标抖动工具完全指南 【免费下载链接】mousejiggler Mouse Jiggler is a very simple piece of software whose sole function is to "fake" mouse input to Windows, and jiggle the mouse pointer back and forth. 项目…...

卖包装薄膜怎么找客户?下游工厂在哪里

卖包装薄膜找客户&#xff0c;本质是找用膜的下游工厂&#xff0c;核心难点是把这些真实在产、真实消耗薄膜的下游厂的名单和联系人系统拿到手——报价单发不出去、拜访找不到门&#xff0c;问题往往出在名单环节而不是产品本身。 包装薄膜的下游客户到底是谁 包装薄膜品类多样…...

JMeter接口测试从零到实战:新手避坑指南与自动化闭环

1. 为什么接口测试不是“点点点”&#xff0c;而JMeter是多数人绕不开的第一把刀很多人刚接触接口测试时&#xff0c;第一反应是&#xff1a;“不就是用Postman发个请求、看个返回码吗&#xff1f;还要学啥工具&#xff1f;”我带过十几批测试新人&#xff0c;八成在入职前两周…...

Web 世界的基石:深入解析 HTTP/1.1 的六大核心特点

&#x1f3db;️ Web 世界的基石&#xff1a;深入解析 HTTP/1.1 的六大核心特点 &#x1f914; 为什么 HTTP/1.1 如此重要&#xff1f; HTTP/1.1 发布于 1997 年&#xff08;RFC 2068&#xff09;&#xff0c;并在 1999 年更新&#xff08;RFC 2616&#xff09;。它统治了互联…...

机器学习中的不确定性原理:模型优化与误差评估的根本权衡

1. 项目概述&#xff1a;当机器学习遇见“测不准”在机器学习的日常实践中&#xff0c;我们常常面临一个看似矛盾的目标&#xff1a;既要让模型学得“好”&#xff08;预测准&#xff09;&#xff0c;又要能说得清它“错”得怎么样&#xff08;误差评估准&#xff09;。我们习惯…...

具身智能的发展趋势对就业市场的影响是什么?

具身智能对就业的核心影响是结构性重塑&#xff1a;短期替代大量重复性岗位、长期创造更高价值的新岗位&#xff0c;整体呈现 “替代 — 创造 — 转型” 的震荡再平衡过程。下面从替代、创造、结构变化、技能与分配、时间线五个方面展开。一、岗位替代&#xff1a;低技能、高重…...

Android虚拟位置终极指南:如何为每个应用单独设置模拟位置

Android虚拟位置终极指南&#xff1a;如何为每个应用单独设置模拟位置 【免费下载链接】FakeLocation Xposed module to mock locations per app. 项目地址: https://gitcode.com/gh_mirrors/fak/FakeLocation 想要在社交软件中保护隐私&#xff0c;在游戏中获取区域限定…...

腾讯吐司:用一句话创造你的专属App,零门槛的应用魔法师

腾讯吐司&#xff1a;用一句话创造你的专属App&#xff0c;零门槛的应用魔法师 “我想要一个能记录每天喝了几杯水的App&#xff0c;最好还能提醒我” 3分钟后&#xff0c;一个真正的、能安装到手机上的App诞生了。 这不是科幻电影&#xff0c;而是腾讯最新推出的「吐司」App正…...