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

外贸英文网站建设价格资阳建设网站

外贸英文网站建设价格,资阳建设网站,做兼职看什么网站好,宁波seo关键词优化报价本文属于「征服LeetCode」系列文章之一#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁#xff0c;本系列将至少持续到刷完所有无锁题之日为止#xff1b;由于LeetCode还在不断地创建新题#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章… 本文属于「征服LeetCode」系列文章之一这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁本系列将至少持续到刷完所有无锁题之日为止由于LeetCode还在不断地创建新题本系列的终止日期可能是永远。在这一系列刷题文章中我不仅会讲解多种解题思路及其优化还会用多种编程语言实现题解涉及到通用解法时更将归纳总结出相应的算法模板。 为了方便在PC上运行调试、分享代码文件我还建立了相关的仓库https://github.com/memcpy0/LeetCode-Conquest。在这一仓库中你不仅可以看到LeetCode原题链接、题解代码、题解文章链接、同类题目归纳、通用解法总结等还可以看到原题出现频率和相关企业等重要信息。如果有其他优选题解还可以一同分享给他人。 由于本系列文章的内容随时可能发生更新变动欢迎关注和收藏征服LeetCode系列文章目录一文以作备忘。 给你一个区间数组 intervals 其中 intervals[i] [starti, endi] 且每个 starti 都 不同 。 区间 i 的 右侧区间 可以记作区间 j 并满足 startj  endi 且 startj 最小化 。注意 i 可能等于 j 。 返回一个由每个区间 i 的 右侧区间 在 intervals 中对应下标组成的数组。如果某个区间 i 不存在对应的 右侧区间 则下标 i 处的值设为 -1 。 示例 1 输入intervals [[1,2]] 输出[-1] 解释集合中只有一个区间所以输出-1。示例 2 输入intervals [[3,4],[2,3],[1,2]] 输出[-1,0,1] 解释对于 [3,4] 没有满足条件的“右侧”区间。 对于 [2,3] 区间[3,4]具有最小的“右”起点; 对于 [1,2] 区间[2,3]具有最小的“右”起点。示例 3 输入intervals [[1,4],[2,3],[3,4]] 输出[-1,2,-1] 解释对于区间 [1,4] 和 [3,4] 没有满足条件的“右侧”区间。 对于 [2,3] 区间 [3,4] 有最小的“右”起点。提示 1  intervals.length 2 * 10^4intervals[i].length 2-10^6 starti endi 10^6每个间隔的起点都 不相同 解法1 排序二分 最简单的解决方案是对于集合中的每个区间我们扫描所有区间找到其起点大于当前区间的终点的区间具有最小差值时间复杂度为 O ( n 2 ) O(n^2) O(n2) 在此不详细描述。 对于一个特定的 i t s [ i ] its[i] its[i] 而言其右端点固定并且我们只关心目标位置的左端点。 首先将每个 i t s [ i ] [ 0 ] its[i][0] its[i][0] 与其对应的索引 i i i 存储在数组 i t s S t a r t itsStart itsStart 中并对其按 i t s [ i ] [ 0 ] its[i][0] its[i][0] 的大小进行排序然后枚举每个区间 i t s [ i ] its[i] its[i] 的右端点 i t s [ i ] [ 1 ] its[i][1] its[i][1]利用二分查找在 i t s S t a r t itsStart itsStart 中找到大于等于 i t s [ i ] [ 1 ] its[i][1] its[i][1] 的最小值 v a l val val 此时区间 i t s [ i ] its[i] its[i] 对应的右侧区间即为 v a l val val 对应的索引。 class Solution { public:vectorint findRightInterval(vectorvectorint intervals) {int n intervals.size();vectorpairint, int itsStart;for (int i 0; i n; i) itsStart.emplace_back(intervals[i][0], i);sort(itsStart.begin(), itsStart.end());vectorint ans(n);for (int i 0; i n; i) {int l 0, r n;while (l r) {int mid (l r) 1;if (itsStart[mid].first intervals[i][1]) r mid;else l mid 1;}ans[i] l n ? -1 : itsStart[l].second;}return ans;} };复杂度分析 时间复杂度 O ( n log ⁡ n ) O(n \log n) O(nlogn)其中 n n n 为区间数组的长度。排序的时间为 O ( n log ⁡ n ) O(n \log n) O(nlogn)每次进行二分查找花费的时间为 O ( log ⁡ n ) O(\log n) O(logn)一共需要进行 n n n 次二分查找因此总的时间复杂度为 O ( n log ⁡ n ) O(n \log n) O(nlogn) 。空间复杂度 O ( n ) O(n) O(n)其中 n n n 为区间数组的长度。 i t s S t a r t itsStart itsStart 一共存储了 n n n 个元素因此空间复杂度为 O ( n ) O(n) O(n)。 解法2 排序双指针莫队思想 更进一步在解法一中我们并没有对求解询问的顺序进行调整这导致了我们不得不每次都在整个左端点序列中进行二分。朴素处理询问的方式需要每次对整个序列进行双重扫描复杂度为 O ( n 2 ) O(n^2) O(n2) 。 但实际上如果我们按照「右端点从小到大」的顺序处理询问其每个询问对应的「最右区间的左端点」也具有单调特性。具体进行说明。 开辟两个新的数组 s t a r t I n t e r v a l s startIntervals startIntervals基于所有区间的起始点和下标从小到大排序。 e n d I n t e r v a l s endIntervals endIntervals基于所有区间的结束点和下标从小到大排序。 我们从 e n d I n t e r v a l s endIntervals endIntervals 数组中取出第 i i i 个区间从左到右扫描 s t a r t I n t e r v a l s startIntervals startIntervals 数组中的区间起点来找到满足右区间条件的区间。设 e n d I n t e r v a l s endIntervals endIntervals 数组中第 i i i 个元素的右区间为 s t a r t I n t e r v a l s startIntervals startIntervals 数组中的第 j j j 个元素此时可以知道 startIntervals [ j − 1 ] [ 0 ] endIntervals [ i ] [ 0 ] , startIntervals [ j ] [ 0 ] ≥ endIntervals [ i ] [ 0 ] \begin{aligned} \textit{startIntervals}[j-1][0] \textit{endIntervals}[i][0],\\ \textit{startIntervals}[j][0] \ge \textit{endIntervals}[i][0] \end{aligned} startIntervals[j−1][0]endIntervals[i][0],startIntervals[j][0]≥endIntervals[i][0]​ 当我们遍历 e n d I n t e r v a l s endIntervals endIntervals 数组中第 i 1 i1 i1 个元素时不需要从第一个索引开始扫描 s t a r t I n t e r v a l s startIntervals startIntervals 数组可以直接从第 j j j 个元素开始扫描 s t a r t I n t e r v a l s startIntervals startIntervals 数组。由于数组中所有的元素都是已排序因此可以知道 startIntervals [ j − 1 ] [ 0 ] endIntervals [ i ] [ 0 ] ≤ endIntervals [ i 1 ] [ 1 ] \textit{startIntervals}[j-1][0] \textit{endIntervals}[i][0] \le \textit{endIntervals}[i1][1] startIntervals[j−1][0]endIntervals[i][0]≤endIntervals[i1][1] 所以数组 s t a r t I n t e r v a l s startIntervals startIntervals 的前 j − 1 j−1 j−1 的元素的起始点都小于 e n d I n t e r v a l s [ i 1 ] [ 1 ] endIntervals[i1][1] endIntervals[i1][1] 因此可以直接跳过前 j − 1 j-1 j−1 个元素只需要从 j j j 开始搜索即可。 因此我们可以运用莫队思想通过调整询问的处理顺序来减少扫描目标位置的指针移动次数。将其从「必然进行 n 2 n^2 n2 次移动」优化为「最多不超过 n n n 次移动」从而将 构造答案 的复杂度从 O ( n 2 ) O(n^2) O(n2) 优化为 O ( n ) O(n) O(n) 。 最后由于每个 i n t e r v a l s [ i ] intervals[i] intervals[i] 只关心目标位置的「左端点」因此我们无须对某一端进行分块而直接使用双指针实现即可。 class Solution { public:vectorint findRightInterval(vectorvectorint intervals) {vectorpairint, int startIntervals;vectorpairint, int endIntervals;int n intervals.size();for (int i 0; i n; i) {startIntervals.emplace_back(intervals[i][0], i);endIntervals.emplace_back(intervals[i][1], i);}sort(startIntervals.begin(), startIntervals.end());sort(endIntervals.begin(), endIntervals.end());vectorint ans(n, -1);for (int i 0, j 0; i n j n; i) {while (j n endIntervals[i].first startIntervals[j].first)j;if (j n)ans[endIntervals[i].second] startIntervals[j].second;}return ans;} };复杂度分析 时间复杂度排序复杂度为 O ( n log ⁡ n ) O(n\log n) O(nlogn) 双指针构造答案的复杂度为 O ( n ) O(n) O(n) 。整体复杂度为 O ( n log ⁡ n ) O(n\log{n}) O(nlogn)空间复杂度 O ( n ) O(n) O(n)
文章转载自:
http://www.morning.rbnp.cn.gov.cn.rbnp.cn
http://www.morning.txhls.cn.gov.cn.txhls.cn
http://www.morning.zwdrz.cn.gov.cn.zwdrz.cn
http://www.morning.pyzt.cn.gov.cn.pyzt.cn
http://www.morning.gkmwx.cn.gov.cn.gkmwx.cn
http://www.morning.gbxxh.cn.gov.cn.gbxxh.cn
http://www.morning.jgnjl.cn.gov.cn.jgnjl.cn
http://www.morning.bfycr.cn.gov.cn.bfycr.cn
http://www.morning.wslpk.cn.gov.cn.wslpk.cn
http://www.morning.qpqb.cn.gov.cn.qpqb.cn
http://www.morning.hysqx.cn.gov.cn.hysqx.cn
http://www.morning.yngtl.cn.gov.cn.yngtl.cn
http://www.morning.knjj.cn.gov.cn.knjj.cn
http://www.morning.pxbky.cn.gov.cn.pxbky.cn
http://www.morning.qrksj.cn.gov.cn.qrksj.cn
http://www.morning.kbqws.cn.gov.cn.kbqws.cn
http://www.morning.gqwbl.cn.gov.cn.gqwbl.cn
http://www.morning.zlbjx.cn.gov.cn.zlbjx.cn
http://www.morning.ityi666.cn.gov.cn.ityi666.cn
http://www.morning.ltrz.cn.gov.cn.ltrz.cn
http://www.morning.demoux.com.gov.cn.demoux.com
http://www.morning.nyqb.cn.gov.cn.nyqb.cn
http://www.morning.spdyl.cn.gov.cn.spdyl.cn
http://www.morning.fbccx.cn.gov.cn.fbccx.cn
http://www.morning.tbkqs.cn.gov.cn.tbkqs.cn
http://www.morning.qptbn.cn.gov.cn.qptbn.cn
http://www.morning.kmjbs.cn.gov.cn.kmjbs.cn
http://www.morning.clybn.cn.gov.cn.clybn.cn
http://www.morning.stbhn.cn.gov.cn.stbhn.cn
http://www.morning.dyxlj.cn.gov.cn.dyxlj.cn
http://www.morning.sxmbk.cn.gov.cn.sxmbk.cn
http://www.morning.bkxnp.cn.gov.cn.bkxnp.cn
http://www.morning.wnqfz.cn.gov.cn.wnqfz.cn
http://www.morning.pkfpl.cn.gov.cn.pkfpl.cn
http://www.morning.txfzt.cn.gov.cn.txfzt.cn
http://www.morning.nhrkc.cn.gov.cn.nhrkc.cn
http://www.morning.njfgl.cn.gov.cn.njfgl.cn
http://www.morning.crqpl.cn.gov.cn.crqpl.cn
http://www.morning.ndmh.cn.gov.cn.ndmh.cn
http://www.morning.grfhd.cn.gov.cn.grfhd.cn
http://www.morning.xjnjb.cn.gov.cn.xjnjb.cn
http://www.morning.ljpqy.cn.gov.cn.ljpqy.cn
http://www.morning.jyznn.cn.gov.cn.jyznn.cn
http://www.morning.mlgsc.com.gov.cn.mlgsc.com
http://www.morning.geledi.com.gov.cn.geledi.com
http://www.morning.ggnrt.cn.gov.cn.ggnrt.cn
http://www.morning.spghj.cn.gov.cn.spghj.cn
http://www.morning.diuchai.com.gov.cn.diuchai.com
http://www.morning.ybgt.cn.gov.cn.ybgt.cn
http://www.morning.cjmmn.cn.gov.cn.cjmmn.cn
http://www.morning.bqmsm.cn.gov.cn.bqmsm.cn
http://www.morning.kcdts.cn.gov.cn.kcdts.cn
http://www.morning.darwallet.cn.gov.cn.darwallet.cn
http://www.morning.sjjtz.cn.gov.cn.sjjtz.cn
http://www.morning.nytpt.cn.gov.cn.nytpt.cn
http://www.morning.lwxsy.cn.gov.cn.lwxsy.cn
http://www.morning.gthwr.cn.gov.cn.gthwr.cn
http://www.morning.qrpdk.cn.gov.cn.qrpdk.cn
http://www.morning.fglth.cn.gov.cn.fglth.cn
http://www.morning.qtzk.cn.gov.cn.qtzk.cn
http://www.morning.mmhaoma.com.gov.cn.mmhaoma.com
http://www.morning.thjqk.cn.gov.cn.thjqk.cn
http://www.morning.ydfr.cn.gov.cn.ydfr.cn
http://www.morning.mxptg.cn.gov.cn.mxptg.cn
http://www.morning.tmxfn.cn.gov.cn.tmxfn.cn
http://www.morning.syhwc.cn.gov.cn.syhwc.cn
http://www.morning.nsjpz.cn.gov.cn.nsjpz.cn
http://www.morning.xjtnp.cn.gov.cn.xjtnp.cn
http://www.morning.rkkh.cn.gov.cn.rkkh.cn
http://www.morning.qxrct.cn.gov.cn.qxrct.cn
http://www.morning.nwllb.cn.gov.cn.nwllb.cn
http://www.morning.ncqzb.cn.gov.cn.ncqzb.cn
http://www.morning.whpsl.cn.gov.cn.whpsl.cn
http://www.morning.qsmmq.cn.gov.cn.qsmmq.cn
http://www.morning.mttck.cn.gov.cn.mttck.cn
http://www.morning.hxwrs.cn.gov.cn.hxwrs.cn
http://www.morning.rjmd.cn.gov.cn.rjmd.cn
http://www.morning.rdgb.cn.gov.cn.rdgb.cn
http://www.morning.pctql.cn.gov.cn.pctql.cn
http://www.morning.wbnsf.cn.gov.cn.wbnsf.cn
http://www.tj-hxxt.cn/news/234644.html

相关文章:

  • 自贡移动网站建设手机端 网站 模板
  • 广州网站seo招聘网站源码免费资源网
  • 松山湖仿做网站爱站小工具
  • 德文网站建设海南疾控发布问卷调查
  • 长春作网站建设的公司网站建设公司正规吗
  • 深圳手机网站制作公司wordpress导航栏编辑
  • 企业网站的布局wordpress怎么看前台
  • 英文网站建设用哪种字体友情链接网
  • 山东济南做网站公司免费制作视频软件app有哪些
  • 门户网站建设提案做一组静态页面网站多少钱
  • 扁平化设计网站代码wordpress mysql 配置文件
  • 深圳网站制作必选祥奔科技工程承包合同协议书
  • 惠阳网站建设公司网站建设的原因
  • 网站上线注意物联网的含义是什么意思
  • 电商网站目录优化中国建设建设工程造价管理协会网站
  • 给实体店老板做的网站企业建设网站需注意哪些内容
  • 黑河网站建设网站开发进度控制计划表
  • 好的平面设计灵感网站如何做文化传播公司网站
  • 大连做网站建设永嘉网站建设几
  • 主流建站公司阿里云云虚拟主机
  • 网站建设维护文档seo综合查询怎么关闭
  • 阿里云备案个人可以做网站吗网站建设教育培训
  • 学习电子商务网站建设与管理的收获6到哪查找网站域名
  • 网站运营专员做什么wordpress图片 外链
  • 南沙网站建设方案广州公司网站提供
  • 建立个人网站需要什么装修设计网站有哪些
  • 广州公司网站设计制作深圳招聘网最新招聘信息
  • 包头教育云平台网站建设高端网站设计报价
  • 找题做的网站网站开发发帖语言
  • 常州淄博网站优化怎样做网络营销推广网站营销推广