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

网站做https好处创建免费网站

网站做https好处,创建免费网站,成都做小程序的开发公司,网络工作室取名❓ 剑指 Offer 39. 数组中出现次数超过一半的数字 难度:简单 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2] 输…

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

难度:简单

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

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

示例 1:

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

限制

  • 1 <= 数组长度 <= 50000

注意:本题 169. 多数元素 相同。

💡思路:投票问题

多数投票问题,可以利用 Boyer-Moore Majority Vote Algorithm 来解决这个问题,使得时间复杂度为 O ( n ) O(n) O(n)

使用 cnt 来统计一个元素出现的次数:

  • 当遍历到的元素和统计元素相等时,令 cnt++,否则令 cnt--
  • 如果前面查找了 i 个元素,且 cnt == 0,说明前 i 个元素没有 ans,或者有 ans,但是出现的次数少于 i / 2 ,因为如果多于 i / 2 的话 cnt 就一定不会为 0 。此时剩下的 n - i 个元素中,ans 的数目依然多于 (n - i) / 2,因此继续查找就能找出 ans

🍁代码:(C++、Java)

C++

class Solution {
public:int majorityElement(vector<int>& nums) {int ans = nums[0], cnt = 0;for(int num : nums) {ans  = cnt == 0 ? num : ans;cnt = ans == num ? ++cnt : --cnt;}return ans;}
};

Java

class Solution {public int majorityElement(int[] nums) {int ans = nums[0], cnt = 0;for(int num : nums) {ans  = cnt == 0 ? num : ans;cnt = ans == num ? ++cnt : --cnt;}return ans;}
}

🚀 运行结果:

在这里插入图片描述

🕔 复杂度分析:

  • 时间复杂度 O ( n ) O(n) O(n),其中 n 为数组的长度,Boyer-Moore 算法只对数组进行了一次遍历。。
  • 空间复杂度 O ( 1 ) O(1) O(1),只需要常数级别的额外空间。

题目来源:力扣。

放弃一件事很容易,每天能坚持一件事一定很酷,一起每日一题吧!
关注我LeetCode主页 / CSDN—力扣专栏,每日更新!

注: 如有不足,欢迎指正!

http://www.ritt.cn/news/5239.html

相关文章:

  • 佛山网站建设推广服务网站怎么做出来的
  • 子网站如何做福州seo服务
  • 在线写作网站荥阳seo推广
  • 建设银行朝阳支行网站优化落实疫情防控新十条
  • php响应式网站站长统计app下载
  • 全球知名外贸b2b网站大全360网站收录提交入口
  • 学生校园网站模板中国站长站
  • psd素材免费下载网站手机怎么做网站免费的
  • 工程建设部网站免费建站哪个最好
  • 盐城做网站推广电话一诺网络推广公司
  • 免费开网站系统小程序免费制作平台
  • 中国做的电脑系统下载网站好公司全网推广
  • 鞍山招聘网站seo首页排名优化
  • 俞润装饰做哪几个网站百度关键词优化软件
  • 网站做百度推广需要什么材料怎么查询百度收录情况
  • 永久域名免费注册网站网站定制的公司
  • 今日最新招聘信息seo优化关键词放多少合适
  • 网站开发制作合同最近几天的重大新闻事件
  • 有网站怎么做下载直链湖南营销型网站建设
  • wordpress 摄影订单合肥seo搜索优化
  • 网站大屏轮播图效果怎么做上海seo公司排名榜
  • 东莞网站建设服务网络营销策划方案范文
  • wordpress editor.md黑帽seo寄生虫
  • 网站建设 知识库线下推广有哪些渠道
  • html代码爱心成都优化网站哪家公司好
  • 重庆网站建设在哪里正规seo大概多少钱
  • 二手房公司如何做网站网站制作优化
  • 广州市车管所网站建设关键词搜索查找工具
  • 如何提高网站百度权重搜索引擎优化搜索优化
  • 自己做个网站用什么软件好公众号怎么推广