每日一题 2731. 移动机器人(中等,模拟)

news2024/10/7 20:29:38

在这里插入图片描述
思路:

  1. 机器人是完全相同的且移动速度一样,所以对于碰撞后转向的机器人,可以看作是不碰撞继续运动。可以这么理解,如果没有碰撞,在移动后坐标 i 处有一个机器人,那么存在碰撞的情况下,坐标 i 处任有一个机器人,只不过标签不一样,所以在机器人相同的情况下可以视作没有碰撞的情况。
  2. 计算所有机器人之间的两两距离之和,暴力遍历的时间复杂度为O(n2),会超时。
  3. 快速求解距离之和,首先假设最左边的机器人坐标为 l,最右边的机器人坐标为 r,那么它们和其他所有机器人的两两距离之和就是 (r - l)*(n-2),其中 n 为机器人的总数。
  4. 在第三步中,我们求出了最旁边两个机器人和其他所有机器人的组合距离之和,那么在接下来的计算过程中将不用再考虑它们,以此类推就可以在排序O(nlogn)+递推O(n)的时间复杂度内完成计算。
class Solution:
    def sumDistance(self, nums: List[int], s: str, d: int) -> int:
        n = len(nums)
        for i in range(n):
            if s[i] is 'R':
                nums[i] += d
            if s[i] is 'L':
                nums[i] -= d

        ans = 0
        nums.sort()
        for i in range(n // 2):
            ans += abs(nums[i] - nums[n - 1 - i]) * (n - 2 * i - 1)
            ans %= 1000000007

        return ans

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1076037.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全志R128芯片应用开发案例——驱动 WS2812 流水灯

驱动 WS2812 流水灯 本文案例代码下载地址驱动 WS2812 流水灯案例代码https://www.aw-ol.com/downloads?cat24 R128-DevKit 拥有4颗 WS2812 LED,本文将详细叙述如何点亮他们。 LEDC 模块简介 LEDC 硬件方框图如上图所示,CPU 通过 APB 总线操作 LEDC 寄…

使用“Apple 诊断”测试你的 Mac(查看电池是否到达更换标准)

使用“Apple 诊断”测试你的 Mac “Apple 诊断”(以前称为“Apple Hardware Test”)可以检查你的 Mac 是不是存在硬件问题。 如果你认为你的 Mac 可能存在硬件问题,可以使用“Apple 诊断”来帮助确定可能存在故障的硬件组件。“Apple 诊断”…

2023P企业管理系统提供商,助力大中型企业一体化管理,免费更新

大中型企业通常业务流程更为复杂,工作数据更庞大,数据迁移的过程中可能会遇到数据不一致、数据丢失等问题。因此大中型企业实施ERP系统是一项复杂的任务,需要企业投入大量的资源和精力,克服各种困难和挑战。 在过往为广西省大中型…

淘宝API官方商品、交易、订单、物流、插旗接口如下:

以下是一些淘宝官方商品、交易、订单、物流、插旗接口的参考: 获取一个产品的信息(taobao.product.get):该接口可以获取一个产品的信息,包括商品ID、标题、价格、销量等。搜索产品信息(taobao.products.search):该接口可以搜索产…

“UTONMOS”掀起元宇宙游戏热潮,全球发展前景广阔

我们都知道,市面上无论是PC端的网游还是移动端手游,它如果要做到源源不断的内容输出,不仅取决于游戏公司产品质量和业绩,也与公司的决策和市场沟通密不可分。 元宇宙游戏市场受到关注 近年来,元宇宙游戏市场逐渐升温…

算法题:柠檬水找零(典型的贪心算法问题)

这道题就是纯贪心算法题,遍历每个顾客,先把钱收了,如果是10块钱就判断手里头有没有5元用于找零;如果是20块钱,先判断是不是有10元5元,如果没有就再判断是否有3个5元。没有的话就直接返回 False。(完整题目附…

保研经历分享(一)

这个系列的文章主要是想记录一下自己大学期间最重要的一件事(保研!!)的经历、过程,外加一些保研流程介绍、面试经验、院校投递、踩坑经历,主要给学弟学妹们避雷,也做一些借鉴吧~ 这一篇主要是对保研过程的一些介绍&…

如何在虚幻引擎中渲染动画?

大家好,今天我将展示如何在虚幻引擎中渲染动画,以及虚幻引擎渲染动画怎么设置的方法步骤。 需要提前了解: 虚幻引擎本地运行慢、渲染慢、本地配置不够,如何解决? 渲云云渲染支持虚幻引擎离线渲染,可批量…

【UE5】Pixel Streaming 配置https协议

【UE5】Pixel Streaming 配置https协议 Pixel Streaming 传输视频流插件,使用任何现代Web浏览器进行连接,并从虚幻引擎应用程序中流式传输渲染的帧像素和音频。 用户无需安装或下载任何内容。 HTTPS (全称:Hypertext Transfer Pro…

大模型部署手记(12)LLaMa2+Chinese-LLaMA-Plus-2-7B+Windows+text-gen+中文对话

1.简介: 组织机构:Meta(Facebook) 代码仓:https://github.com/facebookresearch/llama 模型:chinese-alpaca-2-7b-hf 下载:使用百度网盘下载 硬件环境:暗影精灵7Plus Windows版…

“套壳”OpenAI,注定消亡!全球首个 20 万字大模型发布丨 RTE 开发者日报 Vol.63

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有…

见微知著:从企业售后技术支持看云计算发展

作者:余凯 售后业务中的细微变化 作为阿里云企业容器技术支持的一员,每天会面对全球各地企业级客户提出的关于容器的各种问题,通过这几年的技术支持的经历,逐步发现容器问题客户的一些惯性,哪些是重度用户&#xff0…

Unity设计模式——外观模式

子系统的几个类: class SubSystemOne {public void MethodOne(){Debug.Log("方法一");} } class SubSystemTwo {public void MethodTwo(){Debug.Log("方法2");} } class SubSystemThrre {public void MethodThree(){Debug.Log("方法三&qu…

企业视频直播画面时移看点的用法

企业视频直播画面时移时移功能,可以让客户在观看直播的时,实时回看直播内容;看点功能,可以将视频内容分段标记,能让客户明确内容结构,快速定位目标信息,提升观看体验,跟我一起来体验…

cad由于找不到mfc140u.dll怎么回事?mfc140u.dll丢失的解决方法

当你在使用 CAD(计算机辅助设计)软件时,如果出现“找不到 mfc140u.dll”的错误提示,这通常意味着你的计算机上缺少这个重要的动态链接库文件。Mfc140u.dll 是 Microsoft Foundation Class(MFC)库的一部分&a…

[CISCN2019 总决赛 Day2 Web1]Easyweb 盲注 \\0绕过 文件上传文件名木马

首先开局登入 我们开始目录扫描 扫除 robots.txt 现在只有三个文件 最后发现 只有 image.php.bak存在 这里主要的地方是 \\0 因为第一个\会被转义 这里就会变为 \0 表示空白 那我们sql语句就会变为了 select * from images where id\0 但是这里我们不可以使用 \\ 因为…

数据结构题型16-线索二叉树

文章目录 1 参考博客:2 线索二叉树的节点结构3、分析他人博客 1 参考博客: 1、【图解】数据结构代码领背-中序建立线索二叉树 2、【数据结构】中序线索二叉树的实现(源代码以及讲解) 2 线索二叉树的节点结构 3、分析他人博客 具体博客地址请参考&…

使用docker搭建kafka集群、可视化操作台

单机搭建 1 拉取zookeeper镜像 docker pull wurstmeister/zookeeper 2 启动zookeeper容器 docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper 3 拉取kafka镜像 docker pull wurstmeister/kafka 4 启动kafka镜像 docker…

【配置vscode编写c或c++程序,并在外部控制台输出程序和解决中文乱码问题!!!】

配置vscode编写c或c程序,并在外部控制台输出程序和解决中文乱码问题!!! 1、点击扩展,添加C语言所需的插件(点击安装,安装完成后点击设置标志安装另一个版本,注意一定要安装1.8.4版本…