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

安徽东皖建设集团有限公司网站最近的疫情情况最新消息

安徽东皖建设集团有限公司网站,最近的疫情情况最新消息,做网站有什么要求,新平台推广赚钱LeetCode 169. 多数元素 难度:easy\color{Green}{easy}easy 题目描述 给定一个大小为 nnn 的数组 numsnumsnums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊n/2⌋⌊ n/2 ⌋⌊n/2⌋ 的元素。 你可以假设数组是非空的,并且给…

LeetCode 169. 多数元素

难度:easy\color{Green}{easy}easy


题目描述

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

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

示例 1:

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

示例 2:

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

提示:

  • n==nums.lengthn == nums.lengthn==nums.length
  • 1<=n<=5∗1041 <= n <= 5 * 10^{4}1<=n<=5104
  • −109<=nums[i]<=109-10^{9} <= nums[i] <= 10^{9}109<=nums[i]<=109

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


算法1

(哈希)

使用 C++ 提供的 unordered_map 记录每个元素出现的次数。
遍历过程在,如果次数大于 n/2,则返回该数字即可。

复杂度分析

  • 时间复杂度unordered_map 单次插入和查询的时间复杂度为 O(1)O(1)O(1),故总时间复杂度为 O(n)O(n)O(n)

  • 空间复杂度 : 至少需要额外的 O(n)O(n)O(n) 的空间。

C++ 代码

class Solution {
public:int majorityElement(vector<int>& nums) {unordered_map<int, int> hash;int n = nums.size();int res = 0;for (int i = 0; i < n; i ++) {hash[nums[i]] ++;if (hash[nums[i]] > n / 2) res = nums[i];}return res;}
};

算法2

(投票算法)

  1. 定义 cnt 计数器,初始为 0candidate 记录答案。
  2. 从头开始遍历数组,若发现 cnt == 0,则 candidate := nums[i];然后若 candidate == nums[i]cnt++;否则 cnt--
  3. 遍历结束后,若数组中存在主要元素,则主要元素必定是 candidate

复杂度分析

  • 时间复杂度:仅遍历一次数组,故时间复杂度为 O(n)O(n)O(n)

  • 空间复杂度 : 仅使用了两个变量,故需要 O(1)O(1)O(1) 的额外空间。

C++ 代码

class Solution {
public:int majorityElement(vector<int>& nums) {int cnt = 0, candidate;for (int i = 0; i < nums.size(); i ++) {if (cnt == 0) candidate = nums[i];if (nums[i] == candidate) cnt ++;else cnt --;}return candidate;}
};
http://www.yidumall.com/news/30470.html

相关文章:

  • 保定网站seo哪家公司好最常见企业网站公司有哪些
  • 如何建开发手机网站首页怎样才能被百度秒收录
  • 网站开发项目交接网站权重划分
  • 建网站怎样往网站传视频如何在百度上营销
  • 看过的网站做记号搜索引擎seo优化
  • 用什么网站做一手楼好本地推广平台
  • 专门做餐饮ppt的网站南京网络推广公司排名
  • 做色流网站在哪买网络营销专业就业公司
  • 旅游网站排行榜前20百度精准推广
  • 网站如何做搜索引擎网络推广的方式和途径有哪些
  • 常州模板网站建设价位易搜搜索引擎
  • 邯郸做移动网站费用湖北seo推广
  • 可靠的盐城网站推广网络销售适合什么人做
  • 网站开发分前台后台怎样制作网页
  • 郑州网站建设及优化关键词优化报价怎么样
  • 网站开发 改进杭州优化关键词
  • 网站备案 通知seo关键词有哪些类型
  • 广州天河区做网站的公司网络营销策划方案范文
  • 网站建设需要用到什么企业网站优化服务公司
  • 做网站成功的企业网店搜索引擎优化的方法
  • 网站开发api和微端推广公司好做吗
  • 关于企业网站建设的提案北京正规seo搜索引擎优化价格
  • 网站开发形式电商平台推广方式有哪些
  • 白云做网站正规软件开发培训学校
  • 网站的动态新闻数据库怎么做广州市最新消息
  • app 制作公司凌云seo博客
  • 商城网站实例东莞网站设计公司
  • 网站建设中间件收费小红书搜索关键词排名
  • 网站设计的七个原则手机营销软件
  • 最好的网站制作公司seo和sem