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

网站建设中怎么写最好的优化公司

网站建设中怎么写,最好的优化公司,海外做bt种子网站,国内做彩票网站违法么剑指 Offer 39. 数组中出现次数超过一半的数字 难度:easy\color{Green}{easy}easy 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: …

剑指 Offer 39. 数组中出现次数超过一半的数字

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


题目描述

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。

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

示例 1:

输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]
输出: 2

限制:

1<=数组长度<=500001 <= 数组长度 <= 500001<=数组长度<=50000

注意:本题与主站 169 题相同:https://leetcode-cn.com/problems/majority-element/

  • 腾讯视频后端的算法题,要求空间复杂度为 O(1)O(1)O(1)

算法

(摩尔投票法)

设输入数组 nums 的众数为 x ,数组长度为 n

  • 推论一: 若记 众数 的票数为 +1 ,非众数 的票数为 −1 ,则一定有所有数字的 票数和 >0

  • 推论二: 若数组的前 a 个数字的 票数和 =0 ,则 数组剩余 (n−a) 个数字的 票数和一定仍 >0 ,即后 (n−a) 个数字的 众数仍为 x
    在这里插入图片描述

算法流程:

  • 初始化: 票数统计 votes = 0 , 众数 x
  • 循环: 遍历数组 nums 中的每个数字 num
  • 当 票数 votes 等于 0 ,则假设当前数字 num 是众数;
  • num = x 时,票数 votes 自增 1 ;当 num != x 时,票数 votes 自减 1
  • 返回值: 返回 x 即可;

复杂度分析

  • 时间复杂度O(n)O(n)O(n),其中 nnn 是数组的长度。

  • 空间复杂度 : O(1)O(1)O(1),只需要 vote 常量

C++ 代码

class Solution {
public:int majorityElement(vector<int>& nums) {int vote = 0, x = 0;for (auto num : nums) {if (vote == 0) x = num;if (num == x) {vote += 1;}else {vote -= 1;}}return x;}
};

http://www.dt0577.cn/news/13341.html

相关文章:

  • 做网站怎么做多少钱个人网站搭建
  • 济南网站制作策划太原百度网站快速排名
  • 周村网站制作首选公司广州品牌营销服务
  • 网站定制公司kinglink做任务赚佣金的平台
  • 公司网站百度推广如何做网址
  • 郑州网站制作郑州网站制作推广的十种方式
  • wordpress做淘客网站网络推广工作
  • 朝阳区住房城乡建设委 房管局 官方网站郑州seo实战培训
  • 可靠的合肥网站建设seo优化分析
  • 找人做的网站 没登录口315影视行业
  • 义乌专业做网站的公司网站推广seo设置
  • 浙江省火电建设公司网站吉林seo网络推广
  • 网站项目计划书范文seo培训一对一
  • 两学一做网站是多少钱域名解析ip地址查询
  • 淮南做网站的昆明seo
  • 杭州网站搭建公司口碑营销的缺点
  • 公司建网站费用关键词歌曲免费听
  • 网站界面设计如何实现功能美与形式美的统一?seo网站设计
  • 浙江新华建设有限公司网站sem账户托管
  • 青海政府网站建设公司短链接购买
  • 东莞网站建设seo优化网站自动推广软件免费
  • 阿里云企业网站建设教程营销型网站制作企业
  • 当阳建设中学网站软件开发app制作公司
  • 网站备案备案吗昆明seo案例
  • 网站制作的部分seo网络推广公司排名
  • 动物园网站建设的可行性分析网站关键词查询网址
  • 南昌网站建设价格360网站推广怎么做
  • 青岛手机网站制作宁波seo怎么做优化
  • 桂林市防疫最新政策搜索引擎优化的主要手段
  • 黑龙江建设厅网站账户竞价托管费用