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

广州网站优化网站wordpress模板最多使用

广州网站优化网站,wordpress模板最多使用,wordpress汇率插件,手机如何制作app移动机器人【LC2731】 有一些机器人分布在一条无限长的数轴上,他们初始坐标用一个下标从 0 开始的整数数组 nums 表示。当你给机器人下达命令时,它们以每秒钟一单位的速度开始移动。 给你一个字符串 s ,每个字符按顺序分别表示每个机器人移动…

移动机器人【LC2731】

有一些机器人分布在一条无限长的数轴上,他们初始坐标用一个下标从 0 开始的整数数组 nums 表示。当你给机器人下达命令时,它们以每秒钟一单位的速度开始移动。

给你一个字符串 s ,每个字符按顺序分别表示每个机器人移动的方向。'L' 表示机器人往左或者数轴的负方向移动,'R' 表示机器人往右或者数轴的正方向移动。

当两个机器人相撞时,它们开始沿着原本相反的方向移动。

请你返回指令重复执行 d 秒后,所有机器人之间两两距离之和。由于答案可能很大,请你将答案对 109 + 7 取余后返回。

注意:

  • 对于坐标在 ij 的两个机器人,(i,j)(j,i) 视为相同的坐标对。也就是说,机器人视为无差别的。
  • 当机器人相撞时,它们 立即改变 它们的前进方向,这个过程不消耗任何时间。
  • 当两个机器人在同一时刻占据相同的位置时,就会相撞。
    • 例如,如果一个机器人位于位置 0 并往右移动,另一个机器人位于位置 2 并往左移动,下一秒,它们都将占据位置 1,并改变方向。再下一秒钟后,第一个机器人位于位置 0 并往左移动,而另一个机器人位于位置 2 并往右移动。
    • 例如,如果一个机器人位于位置 0 并往右移动,另一个机器人位于位置 1 并往左移动,下一秒,第一个机器人位于位置 0 并往左行驶,而另一个机器人位于位置 1 并往右移动。
  • 思路

    • 两个相同位置的机器人发生碰撞后,同时改变方向,相当于没有变化发生,可以近似为穿透,即每个机器人按照初始方向前进d个距离

    • 将机器人的最终位置进行排序后,计算所有机器人之间两两距离之和
      ( n u m s [ i ] − n u m s [ i − 1 ] ) + . . . + ( n u m s [ i ] − n u m s [ 0 ] ) = i ∗ n u m s [ i ] − ( n u m s [ 0 ] + . . . + n u m s [ i − 1 ] ) (nums[i]-nums[i-1]) + ... + (nums[i]-nums[0]) = i * nums[i] - (nums[0] + ... +nums[i-1]) (nums[i]nums[i1])+...+(nums[i]nums[0])=inums[i](nums[0]+...+nums[i1])
      上述公式为第i个机器人与其左侧机器人的距离和,即 i ∗ n u m s [ i ] − 前缀和 i * nums[i] - 前缀和 inums[i]前缀和。从第0个机器人依次计算与其左侧机器人的距离和。

  • 实现

    class Solution {public static final int MOD = (int)(1e9 + 7);public int sumDistance(int[] nums, String s, int d) {// 两个相同位置的机器人发生碰撞后,同时改变方向,相当于没有变化发生,可以近似为穿透,即每个机器人按照初始方向前进d个距离// 将机器人的最终位置进行排序后,计算所有机器人之间两两距离之和// (nums[i]-nums[i-1]) + ... + (nums[i]-nums[0]) = i * nums[i] - (nums[0] + ... +nums[i-1])// 上述公式为第i个机器人与其左侧机器人的距离和,即 i * nums[i] - 前缀和。从第0个机器人依次计算与其左侧机器人的距离和。int n = nums.length;long[] arr = new long[n];for (int i = 0; i < n; i++){arr[i] = (long)(nums[i] + (s.charAt(i) == 'R' ? d : -d));}Arrays.sort(arr);long res = 0L, sum = 0L;for (int i = 0; i < n; i++){res = (res + i * arr[i] - sum) % MOD;sum += arr[i];}return (int)res;}
    }
    
    • 复杂度
      • 时间复杂度: O ( n log ⁡ n ) \mathcal{O}(n \log n ) O(nlogn)
      • 空间复杂度: O ( n ) \mathcal{O}(n) O(n)
http://www.yayakq.cn/news/693921/

相关文章:

  • 中国建设银行个人登录网站做网站怎么删除图片
  • 山西做杂粮的网站找人代做网站需要注意什么
  • 网站html5自适应秦皇岛建设局网站6
  • 一个空间可以绑定几个网站设计经典网站
  • 剪辑素材网站做系统的网站
  • 内销网站要怎么做网站建设电商学堂
  • 有关互联网网站郑州发布最新通告
  • ui设计参考网站有哪些网站建设合同百度文库
  • 西安定制网站建设wordpress教程外贸
  • 怎么自己做网站的推广高端网站建设公司排行
  • 昆明优化网站义乌官网制作网站
  • 企业网站网址举例制作app的公司有哪些
  • 连云港市建设银行网站cps推广是什么意思
  • Wordpress编辑工具重庆seo网站收录优化
  • 曲靖高端网站制作民政局网站建设方案
  • 中建西部建设广通讯网站介绍做燕窝的网站
  • 网站开发成本如何账务处理网络品牌推广策划
  • 珠海市做网站公司百度搜索引擎营销如何实现
  • 虚拟机做局域网网站服务器企业邮箱登录界面
  • 精美网站欣赏爱站网关键词挖掘查询
  • 无代码网站南昌网站开发公司
  • 三亚婚纱摄影 织梦网站源码辛集市住房和城乡建设局网站
  • 网站评论管理怎么做的网站质量需求
  • 建网站做点什么好微信公众号怎么开店
  • 站长之家工具查询企业网站的一般要素包括哪些
  • wordpress 去掉emoji惠州短视频seo
  • 手绘风格 网站番禺网站(建设信科网络)
  • 如何看网站点击量怎么做网站后台界面
  • 现在手机网站设计做网站需要学会些什么
  • 电脑公司网站源码乐山做网站的公司