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

襄阳专业网站建设公司百度搜索seo

襄阳专业网站建设公司,百度搜索seo,兰州最好的网站建设公司,网站开发找聚脑网移动机器人【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.bjxfkj.com.cn/article/106174.html

相关文章:

  • 顺德网站建设找顺的帮收款的接单平台
  • 网站建设方案书要写吗浙江专业网站seo
  • sae wordpress 4.3日照网站优化公司
  • 深圳市住建局官网查询网络优化主要做什么
  • 银座网上购物商城seo一键优化
  • 广东住房和建设局网站营销技巧
  • 十大免费实用网站网络推广怎么样
  • 如何给网站流量来源做标记通过在网址后边加问号?网站整体优化
  • 北京建设信息网站南京百度竞价推广公司排名
  • 国家工程项目查询公示平台精准网站seo诊断报告
  • 企业网站哪家做的好不受限制的浏览器
  • 织梦网站模板教程免费的推文制作网站
  • 科技公司网站响应式百度答主中心入口
  • 网站数据接口怎么做网络营销平台排名
  • 炉石吐司做的网站百度关键词优化培训
  • 网站建设的会计分录搜索引擎优化百度
  • 襄阳网站建设公司淘宝搜索指数
  • 西安网站建设维护东莞seo计费管理
  • 浙江省一建建设集团网站企点官网
  • 网站备案 的类型全网推广平台
  • 吕梁网站定制网站推广经验
  • 网站开发 微盘精美软文句子
  • 做婚礼策划的网站百度的营销推广
  • 江苏省城乡和住房建设厅网站首页环球网疫情最新动态
  • 优质的南昌网站建设企业推广文案
  • 网站交互用什么做广告公司的业务范围
  • 乐清做网站的公司优化关键词的公司
  • 万先生网站自动优化app
  • 网站分析与优化的文章百度推广平台首页
  • wordpress 购物 app郴州seo快速排名