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

专业进出口贸易网站光通信网站模板

专业进出口贸易网站,光通信网站模板,四川建设厅网站施工员证查询,请写出html文档的代码题干: 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums [3,2,3] 输出&…

题干:
给定一个大小为 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

解题:
(1)、哈希统计法
定义一个hash接口,如HashMap,统计每个元数出现的次数。之后在遍历HashMap获取次数最大的元素即可。这个方法是最容易想到,且最通用的方法。
代码示例:(java)

public static int majorityElement(int[] nums) {if (nums.length == 1) {return nums[0];}Map<Integer, Integer> map = new HashMap<>();      // 统计元素出现的次数for (int i = 0; i < nums.length; i++) {map.put(nums[i], map.getOrDefault(nums[i], 0) + 1);}int count = 0;         // 暂存出现最大的次数int key = nums[0];      // 最大次数对应的元素值for (Map.Entry<Integer, Integer> entry : map.entrySet()) {if (entry.getValue() > count) {key = entry.getKey();count = entry.getValue();}}return key;}

(2)、排序法
因为题干要说明了超过n/2的元素。所以对数组排序后,众数一定会在最中间的位置。
可以结合上面参考的几个示例,在有序和无序的情况下,自己思考一下。
代码示例:

public static int majorityElement(int[] nums) {Arrays.sort(nums);return nums[nums.length / 2];}

(3)、摩尔投票法
摩尔投票法的核心理念为 票数正负抵消 。
推论一: 若记 众数 的票数为 +1 ,非众数 的票数为 −1 ,则一定有所有数字的 票数和 >0 。
推论二: 若数组的前 a 个数字的 票数和 =0 ,则 数组剩余 (n−a) 个数字的 票数和一定仍 >0 ,即后 (n−a) 个数字的 众数仍为 x 。

思考一下:

  • 当候选元素为众数时,根据推论一遇到众数+1,非众数-1,结果一定大于0,因为众数至少超过了n/2。
  • 当候选元素不是众数时,先不考虑其他元素的影响,仅众数的影响就可以将这个候选元素递减到0,而且最终剩余的数组中肯定还是众数出现的次数最多。
    (前面递减的过程理解下:最坏也是消除同等数量的众数和普通元素,剩余的部分肯定还是众数多,听到这里,想明白了没?_

代码示例:

public static int majorityElement(int[] nums) {int temp = 0;int votes = 0;for (int i = 0; i < nums.length; i++) {if (votes == 0) {temp = nums[i];}votes += (temp == nums[i] ? 1 : -1);}return temp;}

逆风翻盘,Dare To Be!!!

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

相关文章:

  • 4k视频素材网站汕头网站建设推荐
  • 网站怎么验证用户是否登陆德州哪个做网站做得好
  • 网络优化有哪些主要流程站内seo的技巧
  • 昭通市有做网站的吗网站的后台是开发做的
  • 创网易邮箱账号哈尔滨seo
  • 平台建站上海网站开发报价
  • 建设一个网站需要哪些费用塘厦企业网站推广公司
  • 网站轮播图片怎么做的分销网站怎么做
  • 九江本土专业网站建设域名解析网站建设
  • 网站建站管理做网站材料
  • 网页建站费用专业定制网站
  • 网站建设经费预算表磁力猫搜索引擎入口官网
  • 求个网站好人有好报百度贴吧网络营销的功能是什么?
  • 免费发帖的网站比亚迪新能源车型及价格
  • 高台县建设局网站移动应用还是网站开发
  • 网站建设方案书安全性建设单位招聘用那个网站
  • 企业自助建站模板做网站需要哪些软件
  • 公司重名 做网站开发网站类型
  • 农药放行单在哪个网站做秦皇岛山海关电力工程招标
  • 联雅网站建设公司网页认证怎么认证
  • 自己做网站能做付费链接吗站外推广方式
  • 网站开发系统源代码网络平台怎么建立网站吗
  • 有哪些网站是cms山西孝义网站开发
  • 政务网站风格相册管理网站模板下载失败
  • 宁波应用多的建站行业超低价的锦州网站建设
  • 苏州科建设交通学院网站尚品网站建设
  • 餐饮类网站设计青州网站设计
  • 如何做话费卡回收网站开发信息系统软件有哪些
  • 怎样做自己的个人网站黄金网站
  • 杭州网站建设洛洛科技厦门橄榄网站建设