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

LeetCode.2940.找到Alice和Bob可以相遇的建筑

友情提示:这个方法并没有通过案例,只通过了944个案例(很难受),超时了,但是想着还是分享出来吧

题目描述:

给你一个下标从 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 

输入输出实例:

思路:我的思路是先定义一个长度为len(queries)的全为-1的列表ans,然后遍历queries里的每组元素,然后找alice和bob哪个在右边,然后从在右边的那个下标为起始开始遍历heights列表直到遇到一个满足条件的建组就结束这次循环,开始找下一组。

那么对于在找每组的我们要的下标过程为:如果这两个在同一个建筑,那我们直接将这个建筑(也就是下标)放到ans列表中;如果是bob在右边的建筑,我们就要找满足条件的建筑即:heights[j] >= heights[bob] and heights[j] > heights[alice],这个条件把他们汇合的建筑是bob所在建筑也考虑到;同理可得alice在右边我们如何做。根据上述思路有以下代码:

class Solution:def leftmostBuildingQueries(self, heights: List[int], queries: List[List[int]]) -> List[int]:ans = [-1]*len(queries)for i in range(len(queries)):alice,bob = queries[i][0],queries[i][1]#a对应的是heights[alice],b是heights[bob]if alice == bob :ans[i] = bobcontinueif alice < bob:for j in range(bob,len(heights)):if heights[j] >= heights[bob] and heights[j] > heights[alice]:ans[i] = jbreakelse:for j in range(alice,len(heights)):if heights[j] >= heights[alice] and heights[j] > heights[bob]:ans[i] = jbreakreturn ans
http://www.lryc.cn/news/420471.html

相关文章:

  • OFD板式文件创建JAVA工具-EASYOFD 四、文字 Text
  • 【概念速通】李群 lie group
  • day_39
  • 计算机系统层次结构
  • java语言特点
  • 单元测试注解:@ContextConfiguration
  • 大数据-72 Kafka 高级特性 稳定性-事务 (概念多枯燥) 定义、概览、组、协调器、流程、中止、失败
  • MySQl 中对数据表的增删改查(基础)
  • LVS知识点整理及实践
  • Ubuntu gnome WhiteSur-gtk-theme类mac主题正确安装和卸载方式
  • 计算机毕业设计选题推荐-办公用品管理系统-Java/Python项目实战
  • 计算机毕业设计选题推荐-网上考试系统-Java/Python项目实战
  • 白骑士的Matlab教学基础篇 1.4 函数与脚本
  • Qt——多线程
  • 技术周总结 08.05-08.11周日(scala git回滚)
  • ffmpeg 命令图片和视频转换
  • 力扣 | 动态规划 | 在字符串的应用 | 最长回文子串、最长回文子序列、单词拆分、编辑距离
  • 【docker】docker容器部署常用服务
  • CentOS 7.6 安装 Weblogic
  • 一键清除电脑隐私痕迹,Privacy Eraser助你轻松搞定!
  • 火语言RPA桌面元素库使用方法
  • FTP.JBoss,Ldap,Rsync未授权访问漏洞(附带修复方法)
  • 全新在线客服系统源码(pc+h5+uniapp+公众号小程序+抖音)附搭建接入教程
  • 为具有公网IPV6地址的服务器安装nextcloudAIO并使用NginxProxyManager配置反向代理
  • 挖矿宝藏之TCP/IP
  • 略谈set与map的pair封装与进入哈希
  • android13 串口编号修改 串口名修改
  • 工作中常用的软件竟可直接下载0.5m卫星影像(Esri影像、天地图、星图)、DEM、土地覆盖数据...
  • 1章3节:R 语言的产生与发展轨迹
  • html常用标签