OJ练习第183题——移动机器人

移动机器人

力扣链接:2731. 移动机器人

题目描述


示例

官解思路

当两个机器人相撞时,它们会沿着原本相反的方向移动。由于机器人之间并没有任何区别,相撞可以看做是穿透 ,原本左边的机器人相撞后交换为右边的机器人,原本右边的机器人相撞后交换为左边的机器人,这样一来,两个机器人仿佛没有相撞过。因此,我们可以无视相撞 ,独立计算每个机器人 d 秒后所处的位置。

Java代码

java 复制代码
class Solution {
    static final int MOD = 1000000007;
    public int sumDistance(int[] nums, String s, int d) {
        int n = nums.length;
        long[] pos = new long[n];
        for(int i = 0; i < n; i++) {
            if(s.charAt(i) == 'L') {
                pos[i] = (long) nums[i] - d;
            }else {
                pos[i] = (long) nums[i] + d;
            }
        }
        Arrays.sort(pos);
        long res = 0;
        for(int i = 1; i < n; i++) {
            res += 1L * (pos[i] - pos[i - 1]) * i % MOD * (n - i) % MOD;
            res %= MOD;
        }
        return (int) res;
    }
}
相关推荐
土豆.exe17 分钟前
nf_tables 的 verdict 被读了两次:一个十年未闭合的位域错配
java·数据库·网络安全·缓存
小坏讲微服务1 小时前
刚发布一个月的JDK 27,为什么我建议你立刻升级?
java·开发语言·spring boot·spring·架构·求职招聘·springboot4
kunicoding2 小时前
多线程编程核心概念详解:从线程基础到并发安全
java·jvm·安全
snow@li2 小时前
SpringBoot:核心注解全景梳理 / @xxx 叫“注解”(Annotation)
java·spring
devilnumber2 小时前
避坑_IDEA 提取方法(Extract Method)工具
java·ide·intellij-idea
鬼手点金2 小时前
Agent 的学习机制:后训练、上下文学习与外部化学习
java·人工智能·git·学习·自动化·nanogpt
小陈不好吃2 小时前
equals 与 hashCode 的契约关系:从 HashMap 到 Lombok 注解
java·hashmap·lombok
xiaogai_gai3 小时前
金蝶收料通知单查询策略实战教程:从源系统拉取到中间层落地的完整路径
java·前端·数据库
打工仔折腾 AI3 小时前
用 Dashlet 把极空间 NAS 服务入口整理成统一导航首页的实践
java·开发语言·人工智能·后端·python·rpc·ai agent 实战
小蒜学长4 小时前
微信小程序-高校自习室管理系统(代码+数据库+LW)
java·spring boot·后端·微信小程序·自习室管理