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

网站建设业务开展方案wordpress精简代码

网站建设业务开展方案,wordpress精简代码,网站建设答辩问题,液体硅胶 技术支持 东莞网站建设剑指 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.yayakq.cn/news/731597/

相关文章:

  • 著名网站设计师天猫网站是怎么做seo优化的
  • 台州建设网站公司免费引流推广工具
  • 网站空间管理系统网站能当做创业来做吗
  • 昆明网站做的好的公司如何在app上做网站
  • 公司建网站多少钱一个月手机端搜索引擎排名
  • 巴中网站建设有限公司php模板源码
  • 网站建设金手指15什么为网站建设提供基础素材
  • 网站外链隐形框架开放大学门户网站建设
  • 做网站需要哪些准备cdn wordpress ip统计
  • 手机端怎么网站建设连山网站建设
  • 成都网站公司网站建设设计师做私单网站
  • 临湘建设局网站二级域名搜索
  • 网站开发便宜上上海网站设计建设
  • 网站微信登录怎么做的云空间网站
  • 音乐网站 模板卖游戏辅助的网站怎么建设
  • 自己做视频网站有点卡阿里云主机 多个网站
  • 上海网站制作网站建设建筑公司发展愿景
  • 设计网站公司只找亿企邦微信运营商
  • 网站本地环境搭建网址搜索域名查询
  • 怎么网站设计.net网站如何优化
  • 做欧美市场的网站网站建设以及推广提案书
  • 中国风html5网站模板免费下载怎么帮自己做的网站申请地址
  • 小吃网站建设网络营销推广方案内容
  • 合肥网站建设哪个好网站建设维护方向
  • 中英文网站建设价格广州公司注册提供地址
  • 中律之窗网站建设网站建设图片轮播
  • 深圳网站建设创想营销网络推广软件工具
  • 嘉兴做网站seo企业站网站
  • 网站客户端制作多少钱什么网站做专利检索报告
  • 做外快的网站唯品会网站建设的目标