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

LeetCode做题记录(第二天)169. 多数元素

题目:169. 多数元素

标签:数组 哈希表 分治 计数 排序
题目信息:
在这里插入图片描述

思路一:

在题目中出现了计数,那我们就可以直接考虑考虑使用哈希表
unordered_map
即遍历的时候记录每个数的出现次数,当出现次数大于n/2时,则返回这个数,这样就可以完成题目了。

代码实现:

class Solution {
public:int majorityElement(vector<int>& nums) {unordered_map<int,int>mp;//元素:出现次数int n=nums.size();int falg = n/2;for(int i=0;i<n;i++){mp[nums[i]]++;if(mp[nums[i]]>falg){return nums[i];}}return 0;}
};

时间复杂度分析:
一层for,O(n)

思路二:

这个思路是我在评论区看到的,很巧妙。
他把这个比作是帮派大乱斗,由于有个帮派的人数始终大于n/2,那么在大乱斗一换一的情况下,最后活着的人一定是这个帮派。

代码实现:

class Solution {
public:int majorityElement(vector<int>& nums) {int n=nums.size();int falg = n/2;int ans = nums[0];int cnt = 1;for(int i=1;i<n;i++){if(nums[i]==ans){cnt++;}else{cnt--;if(cnt==0){ans = nums[i];cnt = 1;}}}return ans;}
};

时间复杂度分析:
一层for,也是O(n)
但是由于没有开新的空间,所以空间复杂度很小,O(1)

总结:

出现计数相关的就考虑哈希表

ps:哇,做题写题解真是花时间但又不得不做。还是得好好规划时间。主要还是抖音太费时间,加油加油,加油沉淀。
补充下我最近在一个群里看到群友发出来的话,让我很有触动:

还没开始干,还没学习java基础,就开始拉群问自己有没有可能学得会,还没开始投简历之前就在群里抱怨社会不公平。你就算知道世界不公平,那有什么用呢?也就只是和一堆负能量的人聚集在一起,不光得不到什么情绪价值,每天还会被别人影响,干扰你的判断能力。两个教训总结,跟着别人的节奏一起吐槽。殊不知人家吃穿不愁。而你,浪费你的大把时间。我要是及早醒悟,早点远离这些神经病,内鬼,当别人还在抱怨social的不公,聚集起来批判social。诉说着自己怀才不遇,天道不公时,咱们早就一头扎根在自己的事业中,闷声发大财,搞自己的事业,这才是最正确的,而不是像一个臭平民一样,几十个人聚集在一起,把帽子脱下来,在地下踩上几脚,又有什么用呢

相关文章:

LeetCode做题记录(第二天)169. 多数元素

题目&#xff1a;169. 多数元素 标签&#xff1a;数组 哈希表 分治 计数 排序 题目信息&#xff1a; 思路一&#xff1a; 在题目中出现了计数&#xff0c;那我们就可以直接考虑考虑使用哈希表 unordered_map 即遍历的时候记录每个数的出现次数&#xff0c;当出现次数大于n/…...

Adobe XD中文设置指南:专业设计师的现场解答

Adobe XD是世界领先的在线合作UI设计工具。它摆脱了Sketch、Figma等传统设计软件对设备的依赖&#xff0c;使设计师可以随时随地使用任何设备打开网页浏览器&#xff0c;轻松实现跨平台、跨时空的设计合作。然后&#xff0c;为了提高国内设计师的使用体验&#xff0c;Adobe XD如…...

CentOS 7 安装Jenkins2.346.1(war方式安装)

既然想要安装Jenkins&#xff0c;肯定是先要从官网解读所需环境配置信息&#xff0c;如需了解更多自行查阅 https://www.jenkins.io/doc/book/installing/linux/ JDK17&#xff0c;Maven3.9 安装 先从官网分别下载JDK17与Maven3.9 下载好之后上传至服务器、并解压&#xff1a…...

使用Java -jar运行就jar包时报异常:org.yaml.snakeyaml.error.YAMLException异常

Java运行就 .jar包时出现的 YAMLException 异常 我在本地环境测试时&#xff0c;使用 java -jar 命令运行 Java 可执行 .jar 包时&#xff0c;遇到了 org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length 1 异常&#xff1b;这…...

golang实现的ab测试http代理工具

压测工具ab不能统计http请求的错误情况&#xff0c;包括http状态码错误和响应正文的错误关键字。 所以加层代理用于统计http错误情况&#xff0c;重在统计错误情况&#xff0c;而不是代理的性能&#xff0c;主要用于功能接口的测试&#xff0c;比如测试一下请求多少次接口会返…...

Maven学习——Maven的下载、安装与配置(详细攻略!)

目录 前言 1.下载与安装 2.配置Maven的环境变量 3.配置Maven的本地仓库 4. 配置Maven的镜像远程仓库 前言 我在之前写了一篇博客&#xff0c;是介绍Maven的基本概念和下载安装&#xff0c;但是由于篇幅过长&#xff0c;Maven的下载与安装写的并不详细&#x1f436;&#x…...

C#知识|账号管理系统-修改账号按钮功能的实现

哈喽,你好啊,我是雷工! 前边学习了通过选择条件查询账号的功能: 《提交查询按钮事件的编写》 本节继续学习练习C#,今天练习修改账号的功能实现。 以下为学习笔记。 01 实现功能 ①:从查询到的账号中,选择某一账号,然后点击【修改账号】按钮,将选中的信息获取显示到…...

bug等级和优先级

一、bug的等级 1、致命 这类bug是最严重的&#xff0c;通常导致系统无法运行、主要功能失效或严重资源不足。举例包括软件在安装过程中崩溃&#xff0c;导致无法完成安装&#xff1b;登录功能失效&#xff0c;用户无法验证身份进入系统&#xff1b;主要功能模块&#xff08;如…...

记录|C# winform布局学习

目录 前言一、自适应布局Step1. 添加AutoAdaptWindowsSize类Step2. Form中引用Step3. 创建SizeChanged事件函数Step4. 在Fram.Disiger中添加 更新时间 前言 参考视频&#xff1a; C#5分钟winform快速自适应布局 参考文章&#xff1a; 其他参考&#xff1a; 写这篇文章&#xff…...

C/C++ json库

文章目录 一、介绍1.1 json 介绍 二、C/C json 库选型2.1 选型范围2.2 jsoncpp2.2.2 jsoncpp 编译和交叉编译 2.3 rapidjson2.4 nlohmann/json2.5 sonic-cpp 五、常见问题5.1 jsoncpp 中关于浮点数的控制和中文显示问题5.2 jsoncpp序列化double类型时精度损失问题的解决办法 一…...

C++案例四:简易记事本程序

文章目录 程序介绍代码说明包含必要的头文件主函数定义变量定义主循环显示菜单和读取选择处理用户选择程序介绍 编写一个简单的记事本程序,可以帮助用户添加和查看笔记。这个案例可以练习C++中的输入输出、向量(std::vector)、字符串处理(std::string)、以及简单的控制结…...

【VUE学习】day03-过滤器filter

VUE学习第三天 过滤器filter全局过滤器私有过滤器 过滤器filter 作用&#xff1a;常见的文本格式化使用场景&#xff1a;插值表达式、v-bind用法&#xff1a;{{msg | filterName}} ; v-bind:属性‘msg | filterName’ msg:需要格式化的文本信息&#xff08;管道符前面的数据&a…...

技术成神之路:设计模式(八)责任链模式

介绍 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为设计模式&#xff0c;它允许多个对象依次处理请求&#xff0c;避免请求的发送者和接收者之间的显式耦合。该模式通过将多个可能处理请求的对象连接成一条链&#xff0c;并沿着这条链传递请求…...

【Zynq UltraScale+ RFSoC】~~~

Zynq UltraScale RFSoC 系列为 5G 无线和射频级模拟应用引入了颠覆性的集成和架构突破&#xff0c;可直接支持整个 5G sub-6GHz 频段。这个创新系列现已开始批量生产。此设计演示展示了多通道&#xff08;8T8R 或 16T16R&#xff09;Zynq UltraScale RFSoC 评估工具工具工具&am…...

STM32之八:IIC通信协议

目录 1. IIC协议简介 1.1 主从模式 1.2 2根通信线 2. IIC协议时序 2.1 起始条件和终止条件 2.2 应答信号 2.3 发送一个字节 2.4 接收一个字节 3. IIC读写操作 3.1 写操作 3.2 读操作 1. IIC协议简介 IIC协议是一个半双工、同步、一主多从、多主多从的串行通用数据总…...

mysql的数据往hive进行上报时怎么保证数据的准确性和一致性

在将MySQL的数据往Hive进行上报时&#xff0c;确保数据的准确性和一致性可以通过下面一系列步骤来实现 一、准备工作 环境配置&#xff1a; 确保MySQL和Hive环境已经安装并配置好&#xff0c;且都处于可运行状态。检查Hadoop集群&#xff08;Hive通常运行在Hadoop之上&#x…...

问题:4、商业保险与政策性保险的主要不同之处是:经营主体不同、经营目标不同、承保机制不同。 #学习方法#其他#学习方法

问题&#xff1a;4、商业保险与政策性保险的主要不同之处是&#xff1a;经营主体不同、经营目标不同、承保机制不同。 参考答案如图所示...

Getx学习笔记之中间件鉴权

目录 前言 一、实现步骤 1.添加依赖 2.创建鉴权中间件 3.定义路由 4.设置初始路由 5.模拟登陆状态 二、Getx鉴权步骤总结 三、本文demo示例 四、参考文章 前言 在 Flutter 中&#xff0c;使用 GetX 可以很方便地实现中间件鉴权&#xff08;Authentication&#xff09…...

介绍 Elasticsearch 中的 Learning to Tank - 学习排名

作者&#xff1a;来自 Elastic Aurlien Foucret 从 Elasticsearch 8.13 开始&#xff0c;我们提供了原生集成到 Elasticsearch 中的学习排名 (learning to rank - LTR) 实现。LTR 使用经过训练的机器学习 (ML) 模型为你的搜索引擎构建排名功能。通常&#xff0c;该模型用作第二…...

2024年计算机软考中级【硬件工程师】面试题目汇总(附答案)

硬件工程师面试题汇总分析 1、解释一下同步电路和异步电路 解题思路 同步电路和异步电路是指同步时序电路和异步时序电路。由于存储电路中触发器的动作特点不同&#xff0c;因此可以把时序电路分为同步时序电路和异步时序电路两种。同步时序电路所有的触发器状态的变化都是在同…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...