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

力扣838.推多米诺随笔

“生活就像海洋,只有意志坚强的人,才能到达彼岸。”—— 马克思

题目

n 张多米诺骨牌排成一行,将每张多米诺骨牌垂直竖立。在开始时,同时把一些多米诺骨牌向左或向右推。

每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌。同样地,倒向右边的多米诺骨牌也会推动竖立在其右侧的相邻多米诺骨牌。

如果一张垂直竖立的多米诺骨牌的两侧同时有多米诺骨牌倒下时,由于受力平衡, 该骨牌仍然保持不变。

就这个问题而言,我们会认为一张正在倒下的多米诺骨牌不会对其它正在倒下或已经倒下的多米诺骨牌施加额外的力。

给你一个字符串 dominoes 表示这一行多米诺骨牌的初始状态,其中:

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

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

难度:中等

分析

我们遍历字符串,根据当前位置上的值进行分类讨论:

当前值为'.':跳过;

当前值为'L':把之前的'.'置为'L'直到遇到非'.'的位置;

当前值为'R':寻找下一个非'.'的位置,如果没有或者下一个位置为'R',将之间的'.'置为'R',跳到下一个非'.'的位置;如果下一个位置为'L',则将之间的'.'左边的置为'R',右边的置为'L',中间的不变,跳到'L'的下一位。

注意到我们没有判断当前值为'L'并且上一个非'.'位置为'R'的情况是因为该情况已被跳过(在当前值为'R'并且下一个非'.'值为'L'的情况中处理)以避免重复操作。

解答

class Solution {public String pushDominoes(String dominoes) {char[] arr=dominoes.toCharArray();int n=arr.length;int index=0;while (index<n){if (arr[index]=='.'){index++;}else if (arr[index]=='L'){for (int i=index-1;i>=0;i--){if (arr[i]!='.'){break;}arr[i]='L';}index++;}else{int nextIndex;for (nextIndex=index+1;nextIndex<n;nextIndex++){if (arr[nextIndex]!='.'){break;}}if (nextIndex==n||arr[nextIndex]=='R'){for (int i=index+1;i<nextIndex;i++){arr[i]='R';}index=nextIndex;}else{  //index R  nextIndex Lfor (int i=1;index+i<nextIndex-i;i++){arr[index+i]='R';arr[nextIndex-i]='L';}index=nextIndex+1;}}}return new String(arr);}
}

“治于神者,众人不知其功;争于明者,众人知之。”——《墨子》

相关文章:

  • 变转速振动信号分析处理与故障诊断算法模块
  • C++ 动态内存管理
  • VGG网络模型
  • 云原生后端架构的挑战与应对策略
  • mysql--索引
  • 多平台输入法+助聊APP开发技术指南:从概念到实现
  • 华为云Astro轻应用利用自定义连接器调用第三方接口实际操作
  • 传奇各职业/战士/法师/道士戒指爆率及出处产出地/圣战/法神/天尊/虹魔/魔血/麻痹/超负载/求婚/隐身/传送/复活/护身/祈祷/火焰
  • GAMES202-高质量实时渲染(Assignment 2)
  • 阿里云服务器 篇五(加更):短链服务网站:添加反垃圾邮件功能
  • Unity Text打字机效果,支持富文本
  • C++ 与 Lua 联合编程
  • [预备知识]6. 优化理论(二)
  • 如何配置NGINX作为反向代理服务器来缓存后端服务的响应?
  • 微信小程序 自定义组件 标签管理
  • [SoC]AXI总线Performance验证方案
  • 【AI面试准备】Git与CI/CD及单元测试实战指南
  • [Linux]从零开始的STM32MP157 Buildroot根文件系统构建
  • mindyolo填坑
  • 如何利用dify 生成Fine‑tune 需要的Alpaca 格式数据
  • 国家能源局:鼓励各地探索深远海、沙戈荒等可再生能源制氢场景
  • 对华小额包裹免税取消=更高价格+更慢物流,美消费者为关税政策买单
  • 艺术开卷|韩羽读齐白石:妙在似与不似之间
  • 金科股份:因信披违规,公司及董事长、总裁、财务负责人等收到行政监管措施决定书
  • 旅游特种兵们,这个五一“躲进”书吧
  • 韩国代总统、国务总理韩德洙宣布辞职,将择期宣布参选总统