题目

https://leetcode.com/problems/push-dominoes/

题解

很有趣的一道题,不难,L R 的状态组合是有限的,只要分析出每个状态应该怎么处理,然后模拟就好了。

class Solution {public String pushDominoes(String dominoes) {char[] a = dominoes.toCharArray();char preChar = '.';int preIndex = 0;for (int i = 0; i < a.length; i++) {if (a[i] == '.') continue;// 以下非.if (a[i] == preChar || preChar == '.' && a[i] == 'L') { // 与前一个非.方向相同,则中间全改为同方向for (int j = preIndex; j < i; j++) {a[j] = a[i];}} else { // 与前一个非.方向不相同if (a[i] == 'L') { // R....L,则中间二分RLint L = preIndex;int R = i;while (L < R) {a[L++] = 'R';a[R--] = 'L';}}// else  L....R,中间无变化}preChar = a[i];preIndex = i;}if (preChar == 'R') {for (int i = preIndex; i < a.length; i++) {a[i] = 'R';}}return new String(a);}
}

leetcode 838. Push Dominoes | 838. 推多米诺(分析每个状态)相关推荐

  1. Leetcode 838. 推多米诺 C++

    Leetcode 838. 推多米诺 题目 一行中有 N 张多米诺骨牌,我们将每张多米诺骨牌垂直竖立. 在开始时,我们同时把一些多米诺骨牌向左或向右推. 每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻 ...

  2. leetcode 838.推多米诺

    题目地址(838. 推多米诺) https://leetcode-cn.com/problems/push-dominoes/ 题目描述 n 张多米诺骨牌排成一行,将每张多米诺骨牌垂直竖立.在开始时, ...

  3. LeetCode:838. 推多米诺————中等

    题目 838. 推多米诺 n 张多米诺骨牌排成一行,将每张多米诺骨牌垂直竖立.在开始时,同时把一些多米诺骨牌向左或向右推. 每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌.同样地,倒向右边 ...

  4. 【leetcode】838. 推多米诺(模拟)

    题目: 838. 推多米诺 n 张多米诺骨牌排成一行,将每张多米诺骨牌垂直竖立.在开始时,同时把一些多米诺骨牌向左或向右推. 每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌.同样地,倒向右 ...

  5. Java实现 LeetCode 838 推多米诺(暴力模拟)

    838. 推多米诺 一行中有 N 张多米诺骨牌,我们将每张多米诺骨牌垂直竖立. 在开始时,我们同时把一些多米诺骨牌向左或向右推. 每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌. 同样地, ...

  6. 算法题 推多米诺 模拟、队列与黑魔法

    推多米诺 模拟.队列与黑魔法 题目 n 张多米诺骨牌排成一行,将每张多米诺骨牌垂直竖立.在开始时,同时把一些多米诺骨牌向左或向右推. 每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌.同样地 ...

  7. leetcode-838:推多米诺

    leetcode-838:推多米诺 题目 解题 方法一:BFS 方法二:双指针(模拟) 题目 题目链接 n 张多米诺骨牌排成一行,将每张多米诺骨牌垂直竖立.在开始时,同时把一些多米诺骨牌向左或向右推. ...

  8. LeetCode838. 推多米诺

    LeetCode838. 推多米诺 1. 问题描述 2. 思路 双指针 3. 代码 func pushDominoes(dominoes string) string {dominoes = &quo ...

  9. LeetCode 838. 推多米诺(模拟)

    文章目录 1. 题目 2. 解题 1. 题目 一行中有 N 张多米诺骨牌,我们将每张多米诺骨牌垂直竖立. 在开始时,我们同时把一些多米诺骨牌向左或向右推. 每过一秒,倒向左边的多米诺骨牌会推动其左侧相 ...

最新文章

  1. RHEL7 timedatectl命令
  2. uniapp实现图片预览功能
  3. 内存管理之程序内存分布
  4. 在多核CPU上安装SQL SERVER 2005注意
  5. 51nod 1049 最大子段和
  6. 【数学建模】通过调整飞行角度使飞机顺利飞行(Matlab)
  7. Docker学习总结(26)——Docker 管理工具的选择:Kubernetes 还是 Swarm?
  8. 现代Web开发需要学习的15大技术
  9. [导入]2008李幼斌电视剧力作《我是太阳》全42集
  10. Tunnel Warfare HDU 1540 区间合并+最大最小值
  11. layui表头样式_Layui表格好看样式
  12. vmplayer下管理网络
  13. 云盒子linux版本,10分钟,搭建好属于自己的私有云盘系统
  14. NS3中路由协议分析【AODV理论分析】
  15. ZMQ专题学习之六:libzmq的订阅代理模式通信方式
  16. 树莓派安装中文输入法(使用的谷歌提供的树莓派系统google voice kit)
  17. 高德地图独家携手东方时尚驾驶学校 共推“安全驾驶季”活动
  18. 基于STC89C52单片机的密码锁设计与实现
  19. JUC-BlockingQueue二
  20. Eigen的介绍、安装

热门文章

  1. CodeForces - 1301E 1-Trees and Queries(LCA)
  2. UVA - 11572
  3. mapreduce mysql_MapReduce直接连接MySQL获取数据
  4. ZOJ1654(二分构图题典例)
  5. 逆向工程核心原理学习笔记(三):检索API方法
  6. MFC中动态数组CArray的使用
  7. 两个大文件找出相同的一条记录
  8. 阿里巴巴:全链路压测体系建设方案的思考与实践
  9. 设计模式:工厂方法模式(Factory Method)和抽象工厂模式(Abstact Factory)
  10. OS- -文件系统(一)