多数元素算法

news/2024/12/28 18:32:20/

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

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

示例 1:

输入:nums = [3,2,3]
输出:3

示例 2:

输入:nums = [2,2,1,1,1,2,2]
输出:2

提示:

  • n == nums.length
  • 1 <= n <= 5 * 104
  • -109 <= nums[i] <= 109

进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。

class Solution {public int majorityElement(int[] nums) {Map<Integer, Integer> map = new HashMap<>();for (int num : nums) {if (map.containsKey(num)) {if (map.get(num) >= nums.length / 2) {return num;}map.put(num, map.get(num) + 1);} else {map.put(num, 1);}}return nums[0];}
}


http://www.ppmy.cn/news/1544308.html

相关文章

Ubuntu 22.04安装部署

一、部署环境 表 1‑1 环境服务版本号系统Ubuntu22.04 server lts运行环境1JDK1.8前端WEBNginx1.8数据库postgresqlpostgresql13postgis3.1pgrouting3.1消息队列rabbitmq3.X(3.0以上)运行环境2erlang23.3.3.1 二、安装系统 2.1安装 1.安装方式&#xff0c;选第一条。 2.选择…

react基础之redux快速上手环境准备

文章目录 核心概念配置基础环境提交action传参异步状态操作redux调试-devtools配套工具 Redux 是一个状态管理库&#xff0c;通常与 React 一起使用&#xff0c;帮助开发者管理应用的全局状态。它的核心理念是将应用的状态存储在一个单一的、不可变的状态树中&#xff0c;并通过…

C++ | Leetcode C++题解之第519题随机翻转矩阵

题目&#xff1a; 题解&#xff1a; class Solution { public:Solution(int m, int n) {this->m m;this->n n;this->total m * n;srand(time(nullptr));}vector<int> flip() {int x rand() % total;vector<int> ans;total--; // 查找位置 x 对应的…

数据结构题集-第二章-线性表-无头链表改错

说明 本文参照严蔚敏《数据结构(C语言版)题集》一书中包含的问答题和算法设计题目&#xff0c;提供解答和算法的解决方案。请读者在自己已经解决了某个题目或进行了充分的思考之后&#xff0c;再参考本解答&#xff0c;以保证复习效果。由于作者水平所限&#xff0c;本解答中一…

基于深度学习的自适应控制器设计

基于深度学习的自适应控制器设计在自动化系统、机器人控制、工业制造、无人驾驶等领域中有着广泛应用。自适应控制器借助深度学习模型的强大特征提取和学习能力&#xff0c;能够在未知或动态变化的环境中对系统进行实时调节&#xff0c;从而提升系统的响应速度、稳定性和控制精…

SMTP协议,即简单邮件传输协议

SMTP协议&#xff0c;即简单邮件传输协议&#xff08;Simple Mail Transfer Protocol&#xff09;&#xff0c;是一种用于发送电子邮件的互联网标准。以下是对SMTP协议的详细介绍&#xff1a; 一、定义与工作原理 SMTP定义了邮件服务器之间以及邮件客户端与服务器之间的通信规…

RHCE6

一、DNS域名解析服务器 DNS &#xff08; Domain Name System &#xff09;是互联网上的一项服务&#xff0c;它作为将域名和 IP 地址相互映射的一个分布式数据库&#xff0c;能够使人更方便的访问互联网。DNS 系统使用的是网络的查询&#xff0c;那么自然需要有监听的 port 。…

使用 Flask 实现简单的登录注册功能

目录 1. 引言 2. 环境准备 3. 数据库设置 4. Flask 应用基本配置 5. 实现用户注册 6. 实现用户登录 7. 路由配置 8. 创建前端页面 9. 结论 1. 引言 在这篇文章中&#xff0c;我们将使用 Flask 框架创建一个简单的登录和注册系统。Flask 是一个轻量级的 Python Web 框架…