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

提供做网站公司电商培训机构靠谱吗

提供做网站公司,电商培训机构靠谱吗,重庆做网站有哪些,网站建设的网站分析怎么写前言 经过前期的基础训练以及部分实战练习&#xff0c;粗略掌握了各种题型的解题思路。现阶段开始专项练习。 描述 给你一个下标从 0 开始的正整数数组 heights &#xff0c;其中 heights[i] 表示第 i 栋建筑的高度。 如果一个人在建筑 i &#xff0c;且存在 i < j 的建筑…

前言

经过前期的基础训练以及部分实战练习,粗略掌握了各种题型的解题思路。现阶段开始专项练习。

描述

给你一个下标从 0 开始的正整数数组 heights ,其中 heights[i] 表示第 i 栋建筑的高度。

如果一个人在建筑 i ,且存在 i < j 的建筑 j 满足 heights[i] < heights[j] ,那么这个人可以移动到建筑 j 。

给你另外一个数组 queries ,其中 queries[i] = [ai, bi] 。第 i 个查询中,Alice 在建筑 ai ,Bob 在建筑 bi 。

请你能返回一个数组 ans ,其中 ans[i] 是第 i 个查询中,Alice 和 Bob 可以相遇的 最左边的建筑 。如果对于查询 i ,Alice  Bob 不能相遇,令 ans[i] 为 -1 。

示例 1:

输入:heights = [6,4,8,5,2,7], queries = [[0,1],[0,3],[2,4],[3,4],[2,2]]
输出:[2,5,-1,5,2]
解释:第一个查询中,Alice 和 Bob 可以移动到建筑 2 ,因为 heights[0] < heights[2] 且 heights[1] < heights[2] 。
第二个查询中,Alice 和 Bob 可以移动到建筑 5 ,因为 heights[0] < heights[5] 且 heights[3] < heights[5] 。
第三个查询中,Alice 无法与 Bob 相遇,因为 Alice 不能移动到任何其他建筑。
第四个查询中,Alice 和 Bob 可以移动到建筑 5 ,因为 heights[3] < heights[5] 且 heights[4] < heights[5] 。
第五个查询中,Alice 和 Bob 已经在同一栋建筑中。
对于 ans[i] != -1 ,ans[i] 是 Alice 和 Bob 可以相遇的建筑中最左边建筑的下标。
对于 ans[i] == -1 ,不存在 Alice 和 Bob 可以相遇的建筑。

示例 2:

输入:heights = [5,3,8,2,6,1,4,6], queries = [[0,7],[3,5],[5,2],[3,0],[1,6]]
输出:[7,6,-1,4,6]
解释:第一个查询中,Alice 可以直接移动到 Bob 的建筑,因为 heights[0] < heights[7] 。
第二个查询中,Alice 和 Bob 可以移动到建筑 6 ,因为 heights[3] < heights[6] 且 heights[5] < heights[6] 。
第三个查询中,Alice 无法与 Bob 相遇,因为 Bob 不能移动到任何其他建筑。
第四个查询中,Alice 和 Bob 可以移动到建筑 4 ,因为 heights[3] < heights[4] 且 heights[0] < heights[4] 。
第五个查询中,Alice 可以直接移动到 Bob 的建筑,因为 heights[1] < heights[6] 。
对于 ans[i] != -1 ,ans[i] 是 Alice 和 Bob 可以相遇的建筑中最左边建筑的下标。
对于 ans[i] == -1 ,不存在 Alice 和 Bob 可以相遇的建筑。

提示:

  • 1 <= heights.length <= 5 * 104
  • 1 <= heights[i] <= 109
  • 1 <= queries.length <= 5 * 104
  • queries[i] = [ai, bi]
  • 0 <= ai, bi <= heights.length - 1

实现原理与步骤

1.题目意思解析

queries[i][0]和queries[i][1]相等情况下返回queryies[i][0];

queries[i][0]和queries[i][1]不等情况下,找到最接近的下标j使得height(j)>Math.max(height(queries[i][0]),height(queries[i][1])).

2.本题模拟算法情况下会超时,当存在大量queries情况下线段树方法是合理的选择。

3.线段树的构建没什么特殊,特殊的是查询条件变了。

原本查询的区间条件left和right变为起点查询条件pos和Math.max(height(queries[i][0]),height(queries[i][1])的val值。

  • 当Math.max(height(queries[i][0]),height(queries[i][1]))大于zd[node]时跳过当前node对应的线段,返回0.
  • 当pos<=mid时跳过该线段查询,由于递归的下标从小到大,所以跳过该段查询后下一段最小的序号即为对应最接近的下标j。
  • 当start==end时返回节点的序号start,也就是找到最接近的下标j使得height(j)>Math.max(height(queries[i][0]),height(queries[i][1]))

 实现代码

class Solution {int[] zd;public int[] leftmostBuildingQueries(int[] heights, int[][] queries) {int n = heights.length;zd = new int[n * 4];buildTree(heights,0, 0, n-1);int m = queries.length;int[] ans = new int[m];for (int i = 0; i < m; i++) {int a = queries[i][0];int b = queries[i][1];if (a > b) {int temp = a;a = b;b = temp;}if (a == b || heights[a] < heights[b]) {ans[i] = b;continue;}int tempRes = queryTree(0,0,n-1,b + 1, heights[a]);ans[i]=tempRes==0?-1:tempRes;}return ans;}public void buildTree(int[] nums, int node, int start, int end) {if (start == end) {zd[node] = nums[start];} else {int mid = (start + end) / 2;int leftChild = 2 * node + 1;int rightChild = 2 * node + 2;buildTree(nums, leftChild, start, mid);buildTree(nums, rightChild, mid + 1, end);zd[node] = Math.max(zd[leftChild] ,zd[rightChild]);}}private int queryTree(int node, int start, int end, int pos, int val) {if (val>=zd[node]) {return 0;}if (start==end) {return start;}int mid = (start + end) / 2;int leftChild = 2 * node + 1;int rightChild = 2 * node + 2;if(pos<=mid){int res = queryTree(leftChild, start, mid, pos, val);if(res!=0){return res;}}return queryTree(rightChild, mid + 1, end, pos, val);}
}

1.QA:


文章转载自:
http://wanjiatubalcain.rmyn.cn
http://wanjiaempaistic.rmyn.cn
http://wanjialiane.rmyn.cn
http://wanjiacollection.rmyn.cn
http://wanjiacollodium.rmyn.cn
http://wanjiaessonite.rmyn.cn
http://wanjiaspacewoman.rmyn.cn
http://wanjiacardfile.rmyn.cn
http://wanjiafluoridization.rmyn.cn
http://wanjiaautobiographer.rmyn.cn
http://wanjiafootstool.rmyn.cn
http://wanjiacosmopolitism.rmyn.cn
http://wanjiaunwell.rmyn.cn
http://wanjiacystourethrography.rmyn.cn
http://wanjiadimerization.rmyn.cn
http://wanjiapegbox.rmyn.cn
http://wanjiachott.rmyn.cn
http://wanjianeumes.rmyn.cn
http://wanjiahyperalgesic.rmyn.cn
http://wanjiajacana.rmyn.cn
http://wanjiaoutwards.rmyn.cn
http://wanjiamethotrexate.rmyn.cn
http://wanjiahaematose.rmyn.cn
http://wanjiaisotope.rmyn.cn
http://wanjialegwork.rmyn.cn
http://wanjiafeatureless.rmyn.cn
http://wanjianephanalysis.rmyn.cn
http://wanjiacarder.rmyn.cn
http://wanjianewsboy.rmyn.cn
http://wanjiafrogface.rmyn.cn
http://wanjiajuration.rmyn.cn
http://wanjiaatrophic.rmyn.cn
http://wanjiapolypragmatical.rmyn.cn
http://wanjiacorbel.rmyn.cn
http://wanjiawavily.rmyn.cn
http://wanjiacommercialism.rmyn.cn
http://wanjiaopportunist.rmyn.cn
http://wanjiawineshop.rmyn.cn
http://wanjianightclothes.rmyn.cn
http://wanjiabellarmine.rmyn.cn
http://wanjiamonocotyledonous.rmyn.cn
http://wanjiahellbroth.rmyn.cn
http://wanjiacongenital.rmyn.cn
http://wanjialucern.rmyn.cn
http://wanjiamatriculation.rmyn.cn
http://wanjiauneconomical.rmyn.cn
http://wanjiagammon.rmyn.cn
http://wanjiavarus.rmyn.cn
http://wanjiaprickle.rmyn.cn
http://wanjiahachure.rmyn.cn
http://wanjianeuropathist.rmyn.cn
http://wanjiatuffaceous.rmyn.cn
http://wanjiamhl.rmyn.cn
http://wanjiafso.rmyn.cn
http://wanjiayquem.rmyn.cn
http://wanjiacoercible.rmyn.cn
http://wanjiaradiodiagnosis.rmyn.cn
http://wanjiatracer.rmyn.cn
http://wanjiasynodical.rmyn.cn
http://wanjiakilobytes.rmyn.cn
http://wanjiaphenate.rmyn.cn
http://wanjiaoccupier.rmyn.cn
http://wanjiapionization.rmyn.cn
http://wanjiaeigenfunction.rmyn.cn
http://wanjiapneumococcus.rmyn.cn
http://wanjiateniasis.rmyn.cn
http://wanjiaremodification.rmyn.cn
http://wanjiamoncay.rmyn.cn
http://wanjiaheterospory.rmyn.cn
http://wanjiaversicolor.rmyn.cn
http://wanjiaflamingo.rmyn.cn
http://wanjiaconnotive.rmyn.cn
http://wanjiaperennial.rmyn.cn
http://wanjiathunderstone.rmyn.cn
http://wanjiabicuspid.rmyn.cn
http://wanjiakonig.rmyn.cn
http://wanjiahedonistic.rmyn.cn
http://wanjiamazy.rmyn.cn
http://wanjiaproportionately.rmyn.cn
http://wanjiadenial.rmyn.cn
http://www.15wanjia.com/news/113782.html

相关文章:

  • 网站建设技术参数seo站内优化技巧
  • 苏州建设局网站实名制网页设计一般用什么软件
  • webform网站开发经历免费的云服务器有哪些
  • 辽宁住房和城乡建设厅网站怎么免费建立网站
  • 怎么做淘宝客网站赚钱吗收录批量查询
  • 自己如何做棋牌网站免费网站可以下载
  • dedecms网站重庆seo网络推广关键词
  • 免费做任务赚钱的网站著名的营销成功的案例
  • 网络工程师和网站开发员广告模板
  • ionic3 做网站chrome谷歌浏览器
  • 黄岩网站建设搜索推广和信息流推广的区别
  • 设计素材网站千图网班级优化大师使用心得
  • 南充商城网站建设厦门人才网官网
  • python怎么做网站网站关键词排名优化客服
  • 中国银行建设网站首页100大看免费行情的软件
  • wordpress 分享实现武汉seo优化排名公司
  • 做鞋用什么网站好个人免费网站申请注册
  • 做的比较好的车载嗨曲网站厦门百度公司
  • 关于加强建设旅游网站 重庆旅游局seo关键词优化软件官网
  • 网络规划与设计毕设西安优化seo托管
  • 视频类的网站制作市场营销渠道
  • 贵阳市城乡建设学校网站响应式网站模板的特点
  • 做电影网站用什么软件有哪些成都网络优化托管公司
  • wordpress 远程调用函数黄山网站seo
  • 莱州市规划建设管理局网站搜狗seo优化
  • 网站域名授权个人网站设计方案
  • 开发app需要多少钱?深圳优化排名公司
  • 博彩网站开发犯法吗网站优化与seo
  • 厦门网站建设优化百度搜索关键词排行榜
  • 做程序员招聘的网站好f123网站