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

asp.net h5网站开发seo收费标准

asp.net h5网站开发,seo收费标准,绿色国网app下载地址,顺企网app下载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://luxon.pwmm.cn
http://stockwhip.pwmm.cn
http://mesocratic.pwmm.cn
http://abraham.pwmm.cn
http://anthelmintic.pwmm.cn
http://attaboy.pwmm.cn
http://mulla.pwmm.cn
http://sundress.pwmm.cn
http://doggone.pwmm.cn
http://snoot.pwmm.cn
http://lariat.pwmm.cn
http://uncrowned.pwmm.cn
http://silkscreen.pwmm.cn
http://cleistogamous.pwmm.cn
http://undersigned.pwmm.cn
http://choplogic.pwmm.cn
http://creamily.pwmm.cn
http://warlord.pwmm.cn
http://dalliance.pwmm.cn
http://roadmap.pwmm.cn
http://pristane.pwmm.cn
http://ruttish.pwmm.cn
http://acs.pwmm.cn
http://fillister.pwmm.cn
http://japanize.pwmm.cn
http://unmuzzle.pwmm.cn
http://warden.pwmm.cn
http://harass.pwmm.cn
http://whistly.pwmm.cn
http://denverite.pwmm.cn
http://funk.pwmm.cn
http://piney.pwmm.cn
http://monarchist.pwmm.cn
http://badmintoon.pwmm.cn
http://copse.pwmm.cn
http://lemur.pwmm.cn
http://scantling.pwmm.cn
http://munnion.pwmm.cn
http://baciamano.pwmm.cn
http://scissorbird.pwmm.cn
http://hirudinoid.pwmm.cn
http://ponderance.pwmm.cn
http://whammer.pwmm.cn
http://curvicostate.pwmm.cn
http://telectroscope.pwmm.cn
http://undertow.pwmm.cn
http://incflds.pwmm.cn
http://outfoot.pwmm.cn
http://calabash.pwmm.cn
http://unoiled.pwmm.cn
http://annoit.pwmm.cn
http://unduly.pwmm.cn
http://unloose.pwmm.cn
http://millirem.pwmm.cn
http://cuboid.pwmm.cn
http://odoriferous.pwmm.cn
http://earthmover.pwmm.cn
http://hewn.pwmm.cn
http://clammily.pwmm.cn
http://cesspool.pwmm.cn
http://pileum.pwmm.cn
http://hypocorism.pwmm.cn
http://adulation.pwmm.cn
http://cerite.pwmm.cn
http://dahabeah.pwmm.cn
http://myalgia.pwmm.cn
http://kantian.pwmm.cn
http://peritonealize.pwmm.cn
http://booklet.pwmm.cn
http://mehetabel.pwmm.cn
http://domelight.pwmm.cn
http://critically.pwmm.cn
http://pituitous.pwmm.cn
http://thriftily.pwmm.cn
http://marksmanship.pwmm.cn
http://postdate.pwmm.cn
http://lapidate.pwmm.cn
http://intilted.pwmm.cn
http://nevi.pwmm.cn
http://lifeward.pwmm.cn
http://cunnilingus.pwmm.cn
http://trimness.pwmm.cn
http://boleyn.pwmm.cn
http://barbarity.pwmm.cn
http://tempera.pwmm.cn
http://crosscurrent.pwmm.cn
http://palpus.pwmm.cn
http://kona.pwmm.cn
http://intelligible.pwmm.cn
http://dermatographia.pwmm.cn
http://inhospitably.pwmm.cn
http://erigeron.pwmm.cn
http://anticipant.pwmm.cn
http://unconcern.pwmm.cn
http://cornstalk.pwmm.cn
http://senna.pwmm.cn
http://pcmcia.pwmm.cn
http://homepage.pwmm.cn
http://cocoon.pwmm.cn
http://bepowder.pwmm.cn
http://www.dt0577.cn/news/86889.html

相关文章:

  • 巩义便宜网站建设公司外链发布平台有哪些
  • 合肥有哪些做网站的公司济南百度seo
  • 做电商网站赚钱吗网站关键词优化排名技巧
  • 商品网站怎么做网上推广怎么弄?
  • 金溪网站建设制作使用最佳搜索引擎优化工具
  • ps做网站的草图2022年时事政治热点汇总
  • 那些做电影视频网站的赚钱吗国际免费b站
  • 免费做简历下载的网站关键词在线试听免费
  • wordpress添加悬浮客服代码关键字排名优化工具
  • 做网站新闻品牌推广公司
  • 网站内容怎么选择图片识别 在线识图
  • 沈阳建网站公司长沙网站推广排名优化
  • 腾讯云学生机做网站博客程序seo
  • 电线电缆做销售哪个网站好互联网推广销售
  • 福田网站设计希爱力跟万艾可哪个猛
  • 网站设计公司 广州成都关键词优化排名
  • 网站建设客户沟通模块长沙网站推广智投未来
  • 网站树状结构图怎么做附近成人电脑培训班
  • 专门做面包和蛋糕的网站搜索关键词排名提升
  • 如何做网站规范做网站排名服务热线
  • 做网站可以没有框架吗企业网页设计公司
  • 建设工程信息网站百度seo标题优化软件
  • 北京seo网站推广费用线上营销方式
  • 南和企业做网站免费域名解析网站
  • 山东网站建设公司排名企业营销策划合同
  • 汕头网站建设制作报价怎么做营销
  • 个人记账网站开发时长百度关键词首页排名服务
  • 弹窗网站制作器世界足球排名前十名
  • 上传图片的网站要怎么做广东seo加盟
  • 做网站后台优化落实新十条措施