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

商城网站需要多少空间360搜索建站公司

商城网站需要多少空间,360搜索建站公司,中装建设集团有限公司,wordpress js 插件2024/5/21 起床走到阳台,外面绵柔细雨,手探出去,似乎感受不到。刚到实验室,窗外声音放大,雨大了。昨天的两题任务中断了,由于下雨加晚上有课。这样似乎也好,不让我有一种被强迫的感觉&#xff0…

2024/5/21 起床走到阳台,外面绵柔细雨,手探出去,似乎感受不到。刚到实验室,窗外声音放大,雨大了。昨天的两题任务中断了,由于下雨加晚上有课。这样似乎也好,不让我有一种被强迫的感觉,随心所欲些也好,做题!

1、题目描述

在这里插入图片描述

2、逻辑分析

题目要求就是找出在数组中数量占比大于整个数组长度n的一半的元素。我的思路:第一步:将数组里面的元素遍历记录出现的个数;第二步:将他们与n/2比较。

在这里我突然又想到:数量超过一般的元素具有唯一性,那么算法可不可以优化一下:将数组中存在数量最多的元素来跟n/2比较。这里使用哈希表。

3、代码演示

public int majorityElement(int[] nums) {// 使用一个Map来统计每个数字出现的次数  Map<Integer, Integer> counts = countNums(nums);// 定义一个变量来存储多数元素及其计数,初始化为nullMap.Entry<Integer, Integer> majorEntry = null;// 遍历Map中的每个元素for(Map.Entry<Integer, Integer> entry : counts.entrySet()){// 如果majorEntry是null,或者当前元素的计数大于majorEntry的计数if(majorEntry == null || entry.getValue() > majorEntry.getValue()){// 更新majorEntry为当前元素 majorEntry = entry;}}// 返回多数元素的键(即多数元素本身)return majorEntry.getKey();}// 定义一个私有方法,用于统计数组中每个数字的出现次数并返回结果Map private Map<Integer,Integer> countNums (int [] nums){// 创建一个HashMap来存储数字及其出现次数Map<Integer , Integer> counts = new HashMap<Integer, Integer>();for(int num : nums){// 如果该数字尚未在Map中出现过if(!counts.containsKey(num)){// 将该数字添加到Map中,并设置其出现次数为1counts.put(num,1);}else{// 如果该数字已在Map中出现过,则增加其出现次数counts.put(num,counts.get(num) + 1);}}// 返回存储了每个数字及其出现次数的Mapreturn counts;}

这里使用了哈希表将元素作为键,元素的数量作为值。然后遍历哈希表,找到键值对中值最大的元素,最后返回该元素。技术难点是对哈希表还是不够熟练,特别是map.entry这里,都不知道还可以这样用。

时间复杂度:O(n),空间复杂度:O(n)。

这道题的解法好多啊,还有:排序、随机化、分治、Boyer-Moore 投票算法。

下面我们主要来说一下最后一个Boyer-Moore 投票算法,也称为摩尔投票算法。官方的思路解法太过于官方,这里选取了其他题解:

在这里插入图片描述

下面直接看代码:

public int majorityElement(int[] nums) {// 计数器,用于追踪当前候选的多数元素的数量int count = 0;// 候选的多数元素  Integer candidate = null;// 遍历数组中的每个元素for(int num : nums){// 如果计数器为0,则更新候选的多数元素为当前遍历到的元素if(count == 0){candidate = num;}// 如果当前元素与候选的多数元素相同,则计数器加1;否则减1 count += (num == candidate) ? 1 : -1;}// 返回候选的多数元素return candidate;}

时间复杂度:O(n),空间复杂度:O(1)。

http://www.yayakq.cn/news/233608/

相关文章:

  • 刷单网站开发如何制作自己的网站图?
  • 58同城网站建设排名php网站建设的基本流程图
  • 网站建设一个人能做吗网站做seo推广 s
  • 济南seo网站建站wordpress 中国服务器
  • 做什么类型网站可以吸引用户没网站可以做百度推广吗
  • 福州企业建站程序网站如何做更新
  • 主要的网站开发技术路线新手电商运营从哪开始学
  • 文件外链生成网站最近火爆的新闻
  • 怎样查询网站备案号产品市场推广计划书
  • 那些网站是静态设计模板免费
  • 购物网站建设论文答辩软件工程师中级证书
  • win7用iis搭建网站联谊会总结网站建设对外宣传
  • 代刷网址推广佛山网站推广优化公司
  • 网站设计网站设计公司价格广州网站建设技术方案
  • 快速网站优化哪家好广东新闻联播2019
  • 投资理财产品的网站建设怎么在百度上设置自己的门店
  • 鄂尔多斯网站制作 建设推广铆焊加工平台
  • 1做网站互联网营销方式
  • 做微网站要多少钱深圳网站开发报价
  • 推广图片大全优化设计答案六年级上册
  • 玖云建站系统怎么开网店需要多少钱
  • 郑州哪里做网站汉狮jsp网站开发目的及意义
  • 灯塔网站建设河南宣传片制作公司
  • 城市建设招标网站怎么看网站开发者页面
  • wordpress网站实例网页制作三大软件
  • 中国小康建设官方网站建设银行网站建设情况
  • 百度快照 直接进网站网页设计公司的市场评估
  • 合肥公司建设网站枝江网站建设
  • 做网站简单需要什么软件自己怎么做淘宝网站
  • 南昌师范学院网站建设的意义和目的中山今科网站建设