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

leetcode169:多数元素

多数元素

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

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

哈希表法

时间复杂度O(n)

空间复杂度O(n)

public int majorityElement(int[] nums) {HashMap<Integer,Integer> map = new HashMap<>();for (int num : nums) {Integer value = map.put(num, 0);if(value != null && value >= (nums.length)/2){return num;}map.put(num,value != null ? value+1 : 1);}return nums[0];}
摩尔投票法

主要思想是,如果一个数组有一个数占了超过一半,那删除两个不同的数整个数组的众数不变

//摩尔投票法//假设第一个为众数//指针每次后移如果和众数不同就count++,不然就--//如果count为0就换众数//每次比较相当于两个数都被删除,整个数组的众数不变public int majorityElement(int[] nums) {int res = nums[0];int count = 1;int index = 0;for (int i = 0; i < nums.length; i++) {if(nums[index] == res){count ++;}else{count --;if(count == 0){res = nums[index];count = 1;}}index ++;}return res;}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 使用 宝塔面板 部署 php网站
  • 操作系统|day4.Linux、Linux内核、Linux负载、Linux文件存储
  • Java Bean Validation 注解:@NotEmpty、@NotBlank 和 @NotNull 的区别
  • 笔面试编程题总结
  • 详解pd.pivot_table
  • 计算机网络——网络层(多协议标签交换MPLS、软件定义网络SDN)
  • SQL Server端口设置完整详细步骤
  • 900565Z error Failed opening bolt
  • C# 设计模式之装饰器模式
  • 在Linux中宏观的看待线程
  • leetcode17. 电话号码的字母组合,dfs深度优先搜索
  • JC/T 2436-2018 木塑家具板材检测
  • Java 中的 ArrayList 和 LinkedList 在性能上有什么不同?
  • Linux安装Java(JKD)
  • 边缘计算×AI:绘制未来实时智能的宏伟蓝图
  • [译]前端离线指南(上)
  • AHK 中 = 和 == 等比较运算符的用法
  • C++入门教程(10):for 语句
  • C语言笔记(第一章:C语言编程)
  • ES6系列(二)变量的解构赋值
  • FineReport中如何实现自动滚屏效果
  • JavaScript新鲜事·第5期
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 关于extract.autodesk.io的一些说明
  • 聚簇索引和非聚簇索引
  • 利用jquery编写加法运算验证码
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 前言-如何学习区块链
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 驱动程序原理
  • 优化 Vue 项目编译文件大小
  • ​14:00面试,14:06就出来了,问的问题有点变态。。。
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • #565. 查找之大编号
  • (+4)2.2UML建模图
  • (3)医疗图像处理:MRI磁共振成像-快速采集--(杨正汉)
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (笔试题)合法字符串
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (二)原生js案例之数码时钟计时
  • (数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档
  • (原)本想说脏话,奈何已放下
  • (转)jQuery 基础
  • (转)linux 命令大全
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转)Oracle 9i 数据库设计指引全集(1)
  • *2 echo、printf、mkdir命令的应用
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .Net 代码性能 - (1)
  • .net 微服务 服务保护 自动重试 Polly
  • .Net(C#)自定义WinForm控件之小结篇
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?