数组中出现次数超过一半的数字
⭐️ 题目描述

🌟 OJ链接:数组中出现次数超过一半的数字
思路: 采用投票计数的方式,我们可以把每个数字都看成一次投票并且计数,那么最后剩下来的就是数组中数字出现次数最多的那一个。比如 { 1,2,3,2,2,2,5,4,2 } ,当票数为0的时候我们直接让当前数做票主,第一次 {1 , 1} 数字 1 为 1 票,第二次 2 和上一次 1 抵消,第三次 {3 , 1} 数字 3 为 1 票,第四次 2 和 3 抵消,第五次 {2 , 1},第六次 {2 , 2} 数字 2 为 2 票,第七次遇到 5 抵消一票 {2 , 1},第八次遇到 4 继续抵消,第九次 {2 , 1}。所以 2 是最终结果。
代码:
class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param numbers int整型vector* @return int整型*/int MoreThanHalfNum_Solution(vector<int>& numbers) {// 思路:计数 + 抵消int cur_num = -1;int count = 0;for (int i = 0; i < numbers.size(); i++) {if (count == 0) {// 没有候选人cur_num = numbers[i];count++;} else {// 有候选人 // 那么当前票是投候选人还是别人if (cur_num == numbers[i]) {count++;} else {count--;}}}return cur_num;}
相关文章:
数组中出现次数超过一半的数字
⭐️ 题目描述 🌟 OJ链接:数组中出现次数超过一半的数字 思路: 采用投票计数的方式,我们可以把每个数字都看成一次投票并且计数,那么最后剩下来的就是数组中数字出现次数最多的那一个。比如 { 1,2,3,2,2,2,5,4,2 } &a…...
网络优化工程师,你真的了解吗?
一、5G网络优化工程师到底是什么? 5G,就是我们通常所说的第五代移动通信标准,属于目前最热门的新技术趋势。随着2019年5G技术进入正式的商用阶段,拥有广阔的发展前景,备受瞩目。“5G工程师”这个词是一个概念词&#x…...
git 的常用命令
git是一个版本管理器,是程序员必备工具之一,其主分为三个区: 工作区: 暂存区: 仓库: 通过保持软件版本,分支,合并,等多种版本操作,使软件能在自己想要的版本…...
linux如何拷贝文件,删除多余的一级目录,用*号代替所有文件
加上*,代表目录下的所有文件 mv /home/user/dir1/dir1/* /home/user/dir1/可以使用mv命令的通配符来去掉一层目录。 例如,假设有一个名为/home/user/dir1/dir2/file.txt的文件,要将它移动到/home/user/dir2/目录下并去掉dir1目录࿰…...
springboot使用properties
一、方式1: 1.1.配置类: package cn.zyq.stater.config;import cn.zyq.stater.bean.User4; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework…...
Android中获取手机SIM卡的各种信息
通过以下工具类方法可以获取到手机SIM的各种信息数据!!! package com.utils; import android.telephony.TelephonyManager; import com.baidu.platform.comapi.map.E; import org.json.JSONArray; import org.json.JSONObject; import java.…...
matlab 根据索引提取点云
目录 一、语法二、说明三、名称-值对应参数1、输入参数2、输出参数四、代码示例五、结果展示六、参考链接一、语法 ptCloudOut = select(ptCloud,indices) ptCloudOut = select(ptCloud,row,column...
蓝芯、四川邦辰面试(部分)
蓝芯 HTTP请求经过MQ异步处理后,怎样返回结果呢?grpc比起spring cloud的优缺点? 四川邦辰 SkyWalking的埋点具体是怎么操作的?newBing: SkyWalking支持两种埋点方式:自动埋点和手动埋点。自动埋点是指通过SkyWalking…...
openCV实战-系列教程13:文档扫描OCR识别下(图像轮廓/模版匹配)项目实战、源码解读
🧡💛💚💙💜OpenCV实战系列总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 上篇内容: openCV实战-系列教程11:文档扫描OCR识别上&am…...
SpringBootWeb案例 Part 4
3. 修改员工 需求:修改员工信息 在进行修改员工信息的时候,我们首先先要根据员工的ID查询员工的信息用于页面回显展示,然后用户修改员工数据之后,点击保存按钮,就可以将修改的数据提交到服务端,保存到数据…...
什么是ChatGPT水印,ChatGPT生成的内容如何不被检测出来,原理什么?
太长不看版 1. 什么是ChatGPT水印? ChatGPT水印是AI以伪随机方式生成的独特tokens序列。该序列用来作为水印,以区分AI生成内容和人类原创内容。 2. 如何规避ChatGPT水印? 一种规避方法是使用其他AI模型改写ChatGPT生成的文本。这会破坏水…...
Android 6.0 Settings中添加虚拟键开关
添加系统默认键值 b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml-212,4 212,7 <!-- Default for Settings.Secure.NFC_PAYMENT_COMPONENT --><string name"def_nfc_payment_component"></string><!--mh.modify 2019060…...
Yolov8小目标检测(12):动态稀疏注意力BiFormer | CVPR 2023
💡💡💡本文改进:动态稀疏注意力,cvpr2023。 BiFormer | 亲测在红外弱小目标检测涨点,map@0.5 从0.755提升至0.758 💡💡💡Yolo小目标检测,独家首发创新(原创),适用于Yolov5、Yolov7、Yolov8等各个Yolo系列,专栏文章提供每一步步骤和源码,带你轻松实现小…...
C# VS调试技巧
一.按照条件调试步骤 ①在需要代码执行的行打断点 ②触发此断点,让代码执行到此处 ③鼠标滑至在断点处,点击设置 ④设置断点条件,如下图所示 二、多线程调试技巧 ①在需要代码执行的行打断点 ②触发此断点,让代码执行到此处…...
VS的调试技巧
Visual Studiohttps://visualstudio.microsoft.com/zh-hans/vs/ 目录 1、什么是调试? 2、debug和release 3、调试 3.1、环境 3.2、 快捷键 3.2.1、F10和F11 3.2.2、ctrlF5 3.2.3、F5与F9 3.2.3.1、条件断点 3.3、监视和内存观察 3.3.1、监视 3.3.2、内存 …...
lucene国内镜像 极速下载
文章目录 国内镜像汇总-极速下载【JavaPub版】 lucene国内镜像 https://mirrors.cloud.tencent.com/apache/lucene/ 国内镜像汇总-极速下载【JavaPub版】...
Qt 信号槽连接方式
使用示例: QObject::connect(sender, SIGNAL(signal()), receiver, SLOT(slot()), Qt::AutoConnection); 目录 连接方式 一、AutoConnection 二、DirectConnection 三、QueuedConnection 四、BlockingQueuedConnection 五、UniqueConnection 总结 连接方式 "q…...
(线程池) 100行以内的简单线程池
文章目录 前言CodeThreadPool.hppmain.cpp 简单讲解所需头文件using成员变量构造析构添加任务PS测试效果 END 前言 线程池_百度百科 (baidu.com) 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都…...
Mysql按姓氏从小到大排序的正确sql
一、前言 最近有个需求,要按姓氏从小到大查询数据。(姓名都是中文的) 写了一个sql: select a.* from mytable a order by substr(a.NAME,1,1) asc结果发现这样不行,排序是乱的。 二、解决办法 查询发现,如果mysql字符集是gbk的…...
【C++】详细介绍模版初阶—函数模版、类模板
文章目录 一、泛型编程二、函数模版2.1 函数模版概念2.2 函数模版格式2.3 函数模版的原理2.4 函数模版的实例化2.5 函数模版的匹配原则 三、类模版3.1 类模版定义3.2 类模版实例化 总结 ヾ(๑╹◡╹)ノ" 人总要为过去的懒惰而付出代价ヾ(๑╹◡╹)ノ&…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
