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

算法 出现次数超过一半的数字-(哈希+摩尔投票)

牛客网: BM51

题目: 数组中只有1个数字出现次数超过一半,找出这个数字

思路: 投票计数vote==0, 遍历数组,vote为0时,num赋值为当前值, num与当前值相等时,vote增加, 否则vote减小,只有1个数字出现次数超过一半,最终vote为正,同时num值即为对应的值。

代码:

// gopackage main
// import "fmt"/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param numbers int整型一维数组 * @return int整型
*/
func MoreThanHalfNum_Solution( numbers []int ) int {// write code herevote := 0num := -1for _, v := range numbers {if vote == 0 {num = v}if num == v {vote++} else {vote--}}return num
}

http://www.lryc.cn/news/177161.html

相关文章:

  • 如何搭建游戏平台?
  • 【华为OD机试python】数字反转打印【2023 B卷|100分】
  • MATLAB配置编译器(包括vs和mingw)
  • 基本网络协议
  • Tungsten Fabric Rabbitmq故障处理
  • sqlServer 检测慢 sql
  • Mac电脑音视频播放器: Infuse for Mac中文
  • 优化积分商城页面的8个实用技巧
  • Python机器学习实战-特征重要性分析方法(2):内置特征重要性(附源码和实现效果)
  • vue中v-for和v-if同时使用的解决办法
  • 【解决方法】树莓派4B安装wiringpi失败、gpio -v与gpio readall命令not found(arm64架构)
  • oracle 递归
  • SSM - Springboot - MyBatis-Plus 全栈体系(十三)
  • Python|OpenCV-访问并修改图片像素值,鉴别彩色和灰色图像(6)
  • 【Python基础】if __name__ == ‘__main__‘:和assert函数
  • 设计模式——1. 单例模式
  • 操作文档的用户故事怎么写,敏捷开发
  • 14.抽象工厂模式
  • 铁路用热轧钢轨
  • win11+wsl+git+cmake+x86gcc+armgcc+clangformat+vscode环境安装
  • HDLBits-Edgedetect
  • 云计算与大数据——部署Hadoop集群并运行MapReduce集群(超级详细!)
  • 基于jenkins+k8s实现devops
  • 一文了解企业如何实现文件自动化实时同步
  • 低代码系统哪里好
  • C#WPF通知更改公共类使用实例
  • 解决高并发问题
  • B+树的定义以及查找
  • InputAction的使用
  • Bug排查思路