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

【Leetcode 每日一题 - 补卡】838. 推多米诺

问题背景

n n n 张多米诺骨牌排成一行,将每张多米诺骨牌垂直竖立。在开始时,同时把一些多米诺骨牌向左或向右推。
每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌。同样地,倒向右边的多米诺骨牌也会推动竖立在其右侧的相邻多米诺骨牌。
如果一张垂直竖立的多米诺骨牌的两侧同时有多米诺骨牌倒下时,由于受力平衡, 该骨牌仍然保持不变。
就这个问题而言,我们会认为一张正在倒下的多米诺骨牌不会对其它正在倒下或已经倒下的多米诺骨牌施加额外的力。
给你一个字符串 d o m i n o e s dominoes dominoes 表示这一行多米诺骨牌的初始状态,其中:

  • dominoes[i] = ‘L’,表示第 i 张多米诺骨牌被推向左侧,
  • dominoes[i] = ‘R’,表示第 i 张多米诺骨牌被推向右侧,
  • dominoes[i] = ‘.’,表示没有推动第 i 张多米诺骨牌。

返回表示最终状态的字符串。

数据约束

  • n = d o m i n o e s . l e n g t h n = dominoes.length n=dominoes.length
  • 1 ≤ n ≤ 1 0 5 1 \le n \le 10 ^ 5 1n105
  • d o m i n o e s [ i ] dominoes[i] dominoes[i] 为 ‘L’、‘R’ 或 ‘.’

解题过程

需要考虑清楚的是,中间牌的变化,只与左右最近位置的 ‘L’ 或 ‘R’ 有关。
实际实现的时候,可以在两端增加不会影响结果的哨兵,把规律拓展到所有位置上。

具体实现

class Solution {public String pushDominoes(String dominoes) {char[] s = ("L" + dominoes + "R").toCharArray();int pre = 0;for (int i = 1; i < s.length; i++) {if (s[i] == '.') {continue;}if (s[i] == s[pre]) {Arrays.fill(s, pre + 1, i, s[i]);} else if (s[i] == 'L') {Arrays.fill(s, pre + 1, (pre + i + 1) / 2, 'R');Arrays.fill(s, (pre + i) / 2 + 1, i, 'L');}pre = i;}return new String(s, 1, s.length - 2);}
}
http://www.xdnf.cn/news/283879.html

相关文章:

  • LeetCode 热题 100 78. 子集
  • HTML5好看的水果蔬菜在线商城网站源码系列模板9
  • Nginx正反向代理与正则表达式
  • jupyter notebook运行简单程序
  • Linux:深入理解数据链路层
  • Linux 入门:操作系统进程详解
  • Javase 基础加强 —— 01 异常
  • Java高并发处理核心技术详解:从理论到实战
  • 「一针见血能力」的终极训练手册
  • python全自动爬取m3u8网页视频(各类网站都通用)
  • 百度「心响」:左手“多智能体”右手“保姆级服务”,C端用户能看懂这技术告白吗?
  • 多路RTSP转RTMP推送解决方案—轻量高并发跨平台的实时流媒体中转引擎
  • indexedDB
  • 2023年第十四届蓝桥杯省赛B组Java题解【简洁易懂】
  • 再识动静态库
  • spring cloud 与 cloud alibaba 版本对照表
  • Fish-Speech TTS本地部署与推理接口文档
  • LlamaIndex统一管理存储组件的容器--StorageContext
  • 软件架构方之旅(5):SAAM 在软件技术架构评估中的应用与发展研究
  • 2024年第十五届蓝桥杯省赛B组Python【 简洁易懂题解】
  • 二叉搜索树实现删除功能 Java
  • 【RocketMQ Broker 相关源码】- broker 启动源码(2)
  • JavaScript学习教程,从入门到精通, jQuery浏览器事件和元素位置操作语法知识点及案例代码(35)
  • 【Java学习笔记】this关键字
  • QT聊天项目DAY07
  • 单片机自动排列上料控制程序
  • 链表的面试题1
  • 只用Prettier进行格式化项目
  • 第九周作业
  • 【锂电池剩余寿命预测】RF随机森林锂电池剩余寿命预测(Pytorch完整源码和数据)