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

宁波建设网 公积金网点seo顾问服务深圳

宁波建设网 公积金网点,seo顾问服务深圳,如何配置wordpress,做企业网站需要多少钱✏️ 关于专栏:专栏用于记录 LeetCode 中做题与总结 文章目录 多数元素▐ 题目描述▐ 题目示例▐ 题目提示▐ 思路&代码方法 1:哈希表方法2:数组排序方法3:Boyer-Moore投票算法 多数元素 ▐ 题目描述 题目链接:1…

image-20250326184105719

✏️ 关于专栏:专栏用于记录 LeetCode 中做题与总结

文章目录

      • 多数元素
        • ▐ 题目描述
        • ▐ 题目示例
        • ▐ 题目提示
        • ▐ 思路&代码
          • 方法 1:哈希表
          • 方法2:数组排序
          • 方法3:Boyer-Moore投票算法

多数元素

▐ 题目描述

题目链接:169.多数元素

给定一个大小为 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) 的算法解决此问题

▐ 思路&代码
方法 1:哈希表

遍历数组 n u m s nums nums,用 H a s h M a p HashMap HashMap统计各数字的数量,即可找出众数。

时间复杂度O(N),空间复杂度O(N)。

class Solution {
public:int majorityElement(vector<int>& nums) {int ans = 0;unordered_map<int,int> mp;for(int i = 0;i < nums.size();i++){mp[nums[i]]++;}for(auto it:mp){if(it.second > (nums.size()/2)){ans = it.first;}}return ans;}
};
方法2:数组排序

将数组 n u m s nums nums排序,由多数元素出现的次数大于 ⌊ n / 2 ⌋ ⌊ n/2 ⌋ n/2,所以 n u m s nums nums数组中第 n / 2 n/2 n/2个元素一定是多数元素。

class Solution {
public:int majorityElement(vector<int>& nums) {sort(nums.begin(),nums.end());return nums[nums.size()/2];}
};
方法3:Boyer-Moore投票算法
  • 记多数元素的票数为 + 1 +1 +1,其余数的票数为 − 1 -1 1,则一定有所有数字的票数和 > 0 >0 >0

  • 若数组的前 i i i个数字的票数和 = 0 =0 =0,则数组剩余 ( n − a ) (n-a) (na)个数字的票数和一定仍 > 0 >0 >0,即后 ( n − a ) (n-a) (na)个数字的众数仍为 x x x​​。

步骤

  1. 初始化 candidate = 0count = 0
  2. 遍历数组 nums
    • 如果 count == 0(表示当前没有候选元素),candidate 设置为当前元素
    • 如果当前元素等于 candidate,增加 count
    • 否则,减少 count(表示当前元素与 candidate 发生对冲)。
  3. 遍历结束后,candidate 就是多数元素

image-20250327140501200

class Solution {
public:int majorityElement(vector<int>& nums) {int candidate = 0;int count = 0;for(int num : nums){if(count == 0) candidate = num;count += num == candidate ? 1 : -1;}return candidate;}
};

d1fded34d21c16a44c687a112865ab0

http://www.dtcms.com/a/460620.html

相关文章:

  • 微站是什么东西网站服务类型
  • 绍兴建站公司模板sinaappengine wordpress
  • 做网站+利润wordpress 后台管理模板
  • 挂机宝可以做网站创意视差wordpress主题
  • 源码网站怎么做兰州网站搜索排名
  • 学习php好的网站网站前端怎么做
  • 长春网站优化方案站长资源平台百度
  • 建设网站要花多少钱用pc做网站服务器为什么不如云主机
  • 上海网站建设企业网站内容管理软件
  • 济南营销网站建设公司随手app广告怎么关闭
  • 肥东建设网站旅游景区网站设计
  • 自己可以创建公司网站吗怎样找需要做网站客户
  • 网站开发用什么开发天津 网站优化
  • 网站建设用什广告网站建设最专业
  • 南通高端网站设计网络营销方式ppt
  • 《教师网站建设与应用管理制度》建筑企业名单和电话
  • 深圳市制作网站上海注册公司地址费用
  • 许昌建设网站哪家好微信文件传输助手网页版
  • 网站开发 简单ui网页设计公司
  • 营销型企业网站功能centos wordpress
  • 建设网站的费用属于物联网设计方案
  • 说说刷赞网站推广企业管理培训
  • 学校为什么要建设网站建设网站的公司要什么资质吗
  • 公司网站域名过期彩票网站做任务拿佣金
  • 当地网站建设问卷调查12306网站为什么做不好使
  • 品牌营销型网站建设策划灵璧做网站公司
  • 怎么创建子网站全国企业公示网查询官网
  • h5说 网站好的营销网站
  • 网站开发项目实战视频Wordpress多语言配置
  • 如何建设微网站网站中的动态统计图如何做