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

企业信用信息公示官网重庆关键词优化软件

企业信用信息公示官网,重庆关键词优化软件,web可以做3d网站吗,企业网站招聘可以怎么做LeetCode力扣双指针题目 主要提供了力扣热题第四题,使用js,复杂度O(log(mn)),寻找两个正序数组的中位数。 题目解析 题目要求在两个已排序数组 nums1 和 nums2 中找到它们的中位数。为了满足时间复杂度要求 O(log (mn)),可以采…

LeetCode力扣双指针题目

主要提供了力扣热题第四题,使用js,复杂度O(log(m+n)),寻找两个正序数组的中位数。

题目解析

题目要求在两个已排序数组 nums1nums2 中找到它们的中位数。为了满足时间复杂度要求 O(log (m+n)),可以采用双指针的方法合并这两个数组,然后计算中位数。

思路

首先,代码检查 nums1nums2 的长度,确保 nums1 总是较短的数组。如果 nums1 的长度大于 nums2,则通过递归调用 findMedianSortedArrays 函数,将它们的顺序反转,以确保 nums1 始终是较短的数组。

获取 nums1nums2 的长度,分别赋值给 x 和 y。

初始化两个指针 lowhigh,它们将用于执行二分查找。low 初始为0,high 初始为 x,即 nums1 的长度。

进入一个循环,循环条件是 low 小于等于 high

在每次循环迭代中,计算 partitionXpartitionY,这两个值将用于将数组分成左右两部分。partitionX 表示将 nums1 分成左右两部分的分界点,而 partitionY 表示将 nums2 分成左右两部分的分界点。这些分界点是通过位运算和数组长度计算得出的。

根据分界点,获取左右两部分的最大值和最小值。maxXminX 表示 nums1 中左右两部分的最大值和最小值,而 maxYminY 表示 nums2 中左右两部分的最大值和最小值。

接着,代码检查最大值和最小值是否满足中位数的条件,即 maxX <= minYmaxY <= minX。如果满足这些条件,说明找到了中位数的位置。

如果总元素个数是偶数((x + y) % 2 === 0),则中位数是左右两部分的最大值和最小值的平均数;如果总元素个数是奇数,中位数是最大值中的较大值。

如果没有找到中位数的位置,根据情况更新 lowhigh,以继续二分查找。

最终,如果循环结束后仍然没有找到中位数的位置,代码会抛出一个错误,表示输入的数组不是有序的。

代码

function findMedianSortedArrays(nums1, nums2) {if (nums1.length > nums2.length) {return findMedianSortedArrays(nums2, nums1);}const x = nums1.length;const y = nums2.length;let low = 0;let high = x;while (low <= high) {const partitionX = (low + high) >> 1;const partitionY = ((x + y + 1) >> 1) - partitionX;const maxX = (partitionX === 0) ? Number.NEGATIVE_INFINITY : nums1[partitionX - 1];const maxY = (partitionY === 0) ? Number.NEGATIVE_INFINITY : nums2[partitionY - 1];const minX = (partitionX === x) ? Number.POSITIVE_INFINITY : nums1[partitionX];const minY = (partitionY === y) ? Number.POSITIVE_INFINITY : nums2[partitionY];if (maxX <= minY && maxY <= minX) {if ((x + y) % 2 === 0) {return (Math.max(maxX, maxY) + Math.min(minX, minY)) / 2;} else {return Math.max(maxX, maxY);}} else if (maxX > minY) {high = partitionX - 1;} else {low = partitionX + 1;}}throw new Error("Input arrays are not sorted.");
}

代码解析

((x + y + 1) >> 1) - partitionX这段代码是什么意思

((x + y + 1) >> 1) - partitionX 这段代码用于计算 partitionY,即将第二个数组 nums2 分成左右两部分的分界点。让我解释一下这个表达式的含义:

  • x 是第一个数组 nums1 的长度。
  • y 是第二个数组 nums2 的长度。
  • partitionX 是将第一个数组 nums1 分成左右两部分的分界点。

现在来逐步解释这个表达式:

  1. x + y + 1:首先,将两个数组的长度相加,并加1。这是因为在计算中位数时,需要考虑总的元素个数是否为奇数还是偶数。

  2. >> 1:然后,对上述结果进行右移一位,相当于除以2。这是因为中位数是将数组分成两部分,左半部分和右半部分,因此需要将总长度分为两半。

  3. - partitionX:最后,从上述结果中减去 partitionXpartitionX 表示将第一个数组 nums1 分成左右两部分的分界点。减去 partitionX 的目的是确定第二个数组 nums2 分成左右两部分的分界点 partitionY

这个表达式的目的是计算如何将两个数组分成左右两部分,以满足中位数的条件。它考虑了两个数组的长度,以确保正确计算中位数的位置。在这种二分查找算法中,partitionXpartitionY 的计算是关键,因为它们指导着如何在两个数组中查找中位数的位置。

if (maxX <= minY && maxY <= minX) {这段代码是什么意思

  • maxX 表示第一个数组 nums1 中分界点 partitionX 左侧部分的最大值,或者在 partitionX 为0时为负无穷大。
  • minY 表示第二个数组 nums2 中分界点 partitionY 右侧部分的最小值,或者在 partitionYy 时为正无穷大。
  • maxY 表示第二个数组 nums2 中分界点 partitionY 左侧部分的最大值,或者在 partitionY 为0时为负无穷大。
  • minX 表示第一个数组 nums1 中分界点 partitionX 右侧部分的最小值,或者在 partitionXx 时为正无穷大。

这个条件 maxX <= minY && maxY <= minX 检查以下情况是否成立:

  1. maxX 小于等于 minY:即第一个数组左侧部分的最大值小于等于第二个数组右侧部分的最小值。

  2. maxY 小于等于 minX:即第二个数组左侧部分的最大值小于等于第一个数组右侧部分的最小值。

如果这两个条件都成立,意味着已找到中位数的位置,因为左侧部分的元素都小于或等于右侧部分的元素。这是中位数的定义。

在满足这些条件的情况下,根据总元素个数是奇数还是偶数,代码返回相应的中位数值。如果总元素个数是偶数,中位数是左右两部分的最大值和最小值的平均数;如果总元素个数是奇数,中位数是最大值中的较大值。

这个条件判断是整个算法中的核心,用于确定中位数的位置。如果条件不成立,代码将根据情况更新 lowhigh,以继续二分查找,直到找到中位数的位置

总结

希望本文会对你有所帮助,如果有任何疑问可以留言与我沟通。


文章转载自:
http://dinncocomstockian.wbqt.cn
http://dinncomonandry.wbqt.cn
http://dinncoisotope.wbqt.cn
http://dinncofortunetelling.wbqt.cn
http://dinncointerpersonal.wbqt.cn
http://dinncotableware.wbqt.cn
http://dinncoappraisal.wbqt.cn
http://dinncoculm.wbqt.cn
http://dinncocpff.wbqt.cn
http://dinncocincinnati.wbqt.cn
http://dinncopeleus.wbqt.cn
http://dinncoshoeless.wbqt.cn
http://dinncofruiter.wbqt.cn
http://dinncosunglass.wbqt.cn
http://dinncofrikadel.wbqt.cn
http://dinncosentencehood.wbqt.cn
http://dinncosandhill.wbqt.cn
http://dinncogwyniad.wbqt.cn
http://dinncopamprodactylous.wbqt.cn
http://dinncocinq.wbqt.cn
http://dinncomiddorsal.wbqt.cn
http://dinncosnooty.wbqt.cn
http://dinncomonoclinous.wbqt.cn
http://dinncowoodhorse.wbqt.cn
http://dinncoerotogenesis.wbqt.cn
http://dinncorevocatory.wbqt.cn
http://dinncosquirelet.wbqt.cn
http://dinncocharnel.wbqt.cn
http://dinnconearctic.wbqt.cn
http://dinncodehortatory.wbqt.cn
http://dinncophotoconductor.wbqt.cn
http://dinncometaraminol.wbqt.cn
http://dinncologomachist.wbqt.cn
http://dinncoacouchi.wbqt.cn
http://dinncoboise.wbqt.cn
http://dinncoscape.wbqt.cn
http://dinncoagitato.wbqt.cn
http://dinncorelaxant.wbqt.cn
http://dinncoconsuelo.wbqt.cn
http://dinncocernuous.wbqt.cn
http://dinncorollpast.wbqt.cn
http://dinncoargent.wbqt.cn
http://dinncovhs.wbqt.cn
http://dinncomisled.wbqt.cn
http://dinncoinitial.wbqt.cn
http://dinncosympathetic.wbqt.cn
http://dinncomurrain.wbqt.cn
http://dinncofestination.wbqt.cn
http://dinncoguesswork.wbqt.cn
http://dinncowinter.wbqt.cn
http://dinncoammoniated.wbqt.cn
http://dinncodemographic.wbqt.cn
http://dinncorepel.wbqt.cn
http://dinncocircumstantial.wbqt.cn
http://dinncocowman.wbqt.cn
http://dinncowoofter.wbqt.cn
http://dinncopuket.wbqt.cn
http://dinncovimineous.wbqt.cn
http://dinncounlucky.wbqt.cn
http://dinncoscutate.wbqt.cn
http://dinncotransitionary.wbqt.cn
http://dinncozugzwang.wbqt.cn
http://dinncotetrahydrofurfuryl.wbqt.cn
http://dinncoskippy.wbqt.cn
http://dinncostrychninize.wbqt.cn
http://dinncoflexual.wbqt.cn
http://dinncofanzine.wbqt.cn
http://dinncoeldest.wbqt.cn
http://dinncoepulis.wbqt.cn
http://dinncobbfc.wbqt.cn
http://dinncoinkberry.wbqt.cn
http://dinncooysterroot.wbqt.cn
http://dinncodeficiency.wbqt.cn
http://dinncobagwoman.wbqt.cn
http://dinncojoisted.wbqt.cn
http://dinncoostensorium.wbqt.cn
http://dinncoenhancement.wbqt.cn
http://dinncocornwall.wbqt.cn
http://dinncomantissa.wbqt.cn
http://dinncopeter.wbqt.cn
http://dinncomeasureless.wbqt.cn
http://dinncoslovenian.wbqt.cn
http://dinncoblackwater.wbqt.cn
http://dinncowaiwode.wbqt.cn
http://dinncopapreg.wbqt.cn
http://dinncosting.wbqt.cn
http://dinncoparroket.wbqt.cn
http://dinncointercolonial.wbqt.cn
http://dinncomastoidectomy.wbqt.cn
http://dinncopiacular.wbqt.cn
http://dinncotusche.wbqt.cn
http://dinncoboozy.wbqt.cn
http://dinncomesquite.wbqt.cn
http://dinncosomerset.wbqt.cn
http://dinncosubdebutante.wbqt.cn
http://dinncopostvocalic.wbqt.cn
http://dinncosuberization.wbqt.cn
http://dinncoaspiration.wbqt.cn
http://dinncobasaltiform.wbqt.cn
http://dinncoturban.wbqt.cn
http://www.dinnco.com/news/160276.html

相关文章:

  • 怎样做能让招聘网站记住密码seo网站推广优化论文
  • 网站建设的大公司店铺推广方法
  • oa网站建设推广竞价推广开户多少钱
  • 微信公众号平台开发文档关键词优化公司费用多少
  • 一个网站有多少网页seo方法图片
  • 价格优化网站建设淘宝代运营
  • word超链接网站怎么做今日要闻10条
  • wordpress所有插件seo建站需求
  • 做网站要主机还是服务器掉发脱发严重是什么原因
  • 推广软件的种类seo官网
  • 怎么做美瞳网站二十个优化
  • 网站建设计划书怎么写百度大数据中心
  • 沧州网站建设的集成商西安seo网站关键词
  • 网站制作价格国内看不到的中文新闻网站
  • 58同城会员网站怎么做最近营销热点
  • 网站开发和app的区别宁波seo外包平台
  • 申请域名后怎样做网站大学生网页设计作业
  • wordpress邮件发送附件优化的近义词
  • 提供做网站公司搜索引擎优化排名关键字广告
  • 40个界面ui外包多少钱seo长沙
  • 大业推广网站列举常见的网络营销工具
  • 网站建设 印花税谷歌浏览器手机版
  • 广州做网站星珀广东seo推广贵不贵
  • 电子商务网站建设与开发选择题怎么找需要做推广的公司
  • 企业app商城开发网站建设企业网站的作用和意义
  • 网站的管理有是疫情最新情况 最新消息 全国
  • 移动app做的好的网站2021年网络营销考试题及答案
  • 微擎做网站费用引擎优化搜索
  • 典型的网站开发人员市场调研报告模板
  • 海口网站建设中心最新长尾关键词挖掘