leetcode 838. Push Dominoes | 838. 推多米诺(分析每个状态)
题目
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. 推多米诺(分析每个状态)相关推荐
- Leetcode 838. 推多米诺 C++
Leetcode 838. 推多米诺 题目 一行中有 N 张多米诺骨牌,我们将每张多米诺骨牌垂直竖立. 在开始时,我们同时把一些多米诺骨牌向左或向右推. 每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻 ...
- leetcode 838.推多米诺
题目地址(838. 推多米诺) https://leetcode-cn.com/problems/push-dominoes/ 题目描述 n 张多米诺骨牌排成一行,将每张多米诺骨牌垂直竖立.在开始时, ...
- LeetCode:838. 推多米诺————中等
题目 838. 推多米诺 n 张多米诺骨牌排成一行,将每张多米诺骨牌垂直竖立.在开始时,同时把一些多米诺骨牌向左或向右推. 每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌.同样地,倒向右边 ...
- 【leetcode】838. 推多米诺(模拟)
题目: 838. 推多米诺 n 张多米诺骨牌排成一行,将每张多米诺骨牌垂直竖立.在开始时,同时把一些多米诺骨牌向左或向右推. 每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌.同样地,倒向右 ...
- Java实现 LeetCode 838 推多米诺(暴力模拟)
838. 推多米诺 一行中有 N 张多米诺骨牌,我们将每张多米诺骨牌垂直竖立. 在开始时,我们同时把一些多米诺骨牌向左或向右推. 每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌. 同样地, ...
- 算法题 推多米诺 模拟、队列与黑魔法
推多米诺 模拟.队列与黑魔法 题目 n 张多米诺骨牌排成一行,将每张多米诺骨牌垂直竖立.在开始时,同时把一些多米诺骨牌向左或向右推. 每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌.同样地 ...
- leetcode-838:推多米诺
leetcode-838:推多米诺 题目 解题 方法一:BFS 方法二:双指针(模拟) 题目 题目链接 n 张多米诺骨牌排成一行,将每张多米诺骨牌垂直竖立.在开始时,同时把一些多米诺骨牌向左或向右推. ...
- LeetCode838. 推多米诺
LeetCode838. 推多米诺 1. 问题描述 2. 思路 双指针 3. 代码 func pushDominoes(dominoes string) string {dominoes = &quo ...
- LeetCode 838. 推多米诺(模拟)
文章目录 1. 题目 2. 解题 1. 题目 一行中有 N 张多米诺骨牌,我们将每张多米诺骨牌垂直竖立. 在开始时,我们同时把一些多米诺骨牌向左或向右推. 每过一秒,倒向左边的多米诺骨牌会推动其左侧相 ...
最新文章
- RHEL7 timedatectl命令
- uniapp实现图片预览功能
- 内存管理之程序内存分布
- 在多核CPU上安装SQL SERVER 2005注意
- 51nod 1049 最大子段和
- 【数学建模】通过调整飞行角度使飞机顺利飞行(Matlab)
- Docker学习总结(26)——Docker 管理工具的选择:Kubernetes 还是 Swarm?
- 现代Web开发需要学习的15大技术
- [导入]2008李幼斌电视剧力作《我是太阳》全42集
- Tunnel Warfare HDU 1540 区间合并+最大最小值
- layui表头样式_Layui表格好看样式
- vmplayer下管理网络
- 云盒子linux版本,10分钟,搭建好属于自己的私有云盘系统
- NS3中路由协议分析【AODV理论分析】
- ZMQ专题学习之六:libzmq的订阅代理模式通信方式
- 树莓派安装中文输入法(使用的谷歌提供的树莓派系统google voice kit)
- 高德地图独家携手东方时尚驾驶学校 共推“安全驾驶季”活动
- 基于STC89C52单片机的密码锁设计与实现
- JUC-BlockingQueue二
- Eigen的介绍、安装
热门文章
- CodeForces - 1301E 1-Trees and Queries(LCA)
- UVA - 11572
- mapreduce mysql_MapReduce直接连接MySQL获取数据
- ZOJ1654(二分构图题典例)
- 逆向工程核心原理学习笔记(三):检索API方法
- MFC中动态数组CArray的使用
- 两个大文件找出相同的一条记录
- 阿里巴巴:全链路压测体系建设方案的思考与实践
- 设计模式:工厂方法模式(Factory Method)和抽象工厂模式(Abstact Factory)
- OS- -文件系统(一)