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

LeetCode Hot100 169.多数元素

题目

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

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

方法一:哈希表

​
class Solution {public int majorityElement(int[] nums) {int n = nums.length;Map<Integer, Integer> map = new HashMap<>();for (int i = 0; i < n; i++) {int times = map.getOrDefault(nums[i], 0) + 1;if (times > (n / 2))return nums[i];map.put(nums[i], times);}return -1;}
}​

时间复杂度 o( n )   空间复杂度 o( n )

方法二:摩尔投票算法

class Solution {public int majorityElement(int[] nums) {int n = nums.length;int count = 0, ans = -1;for (int i = 0; i < n; i++) {if (count == 0) {ans = nums[i];count++;}else if (nums[i] == ans)count++;else count--;}return ans;}
}

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

相关文章:

  • 数据结构:堆的实现思路
  • 结合 DBSCAN 示例代码介绍 DBSCAN
  • vscode 调试jlink
  • 微前端实战:打造高效、灵活的前端应用架构
  • csv文件EXCEL默认打开乱码问题
  • C语言之实现贪吃蛇小游戏篇(2)
  • Comparator接口
  • SELinux refpolicy详解(9)
  • 零基础上手,秒识别检测,IDEA研究院发布全新T-Rex模型
  • python每日一题——20旋转图像
  • 云计算生成式 -给你不一样的音乐推荐新体验
  • Zabbix 6.0部署+自定义监控项+自动发现与自动注册+部署zabbix代理服务器
  • Docker 简介及其常用命令详解
  • 基于PHP的高中生物学习平台
  • Git多库多账号本地SSH连接配置方法
  • 爬虫学习-基础(HTTP原理)
  • Gazebo 中为地面和车轮添加摩擦属性
  • 【重点】【滑动窗口】3. 无重复字符的最长子串
  • python初始化矩阵相关
  • C++ :运算符重载
  • 如何跑通跨窗口渲染:multipleWindow3dScene
  • flutter-web中使用js工具类
  • @ResponseBody详解:用于响应体响应数据
  • 【Python百练——第3练】矩形类及操作
  • 【C语言学习疑难杂症】C语言中数组存储时为什么从低地址到高地址
  • Linux:查看端口占用的进程
  • 医美店会员管理系统预约小程序作用是什么
  • Linux 正则表达式
  • C语言面试之数组指针上篇
  • LinkWeChat,唯一以开源为核心的SCRM