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

重庆云阳网站建设报价网站打开是目录结构图

重庆云阳网站建设报价,网站打开是目录结构图,美团招聘网站开发,西昌有没有可以做网站的公司【每日一题】2337. 移动片段得到字符串 2337. 移动片段得到字符串题目描述解题思路 2337. 移动片段得到字符串 题目描述 给你两个字符串 start 和 target ,长度均为 n 。每个字符串 仅 由字符 ‘L’、‘R’ 和 ‘_’ 组成,其中: 字符 ‘L’…

【每日一题】2337. 移动片段得到字符串

  • 2337. 移动片段得到字符串
    • 题目描述
    • 解题思路

2337. 移动片段得到字符串

题目描述

给你两个字符串 start 和 target ,长度均为 n 。每个字符串 仅 由字符 ‘L’、‘R’ 和 ‘_’ 组成,其中:

字符 ‘L’ 和 ‘R’ 表示片段,其中片段 ‘L’ 只有在其左侧直接存在一个 空位 时才能向 左 移动,而片段 ‘R’ 只有在其右侧直接存在一个 空位 时才能向 右 移动。
字符 ‘_’ 表示可以被 任意 ‘L’ 或 ‘R’ 片段占据的空位。
如果在移动字符串 start 中的片段任意次之后可以得到字符串 target ,返回 true ;否则,返回 false 。

示例 1:

输入:start = "_L__R__R_", target = "L______RR"
输出:true
解释:可以从字符串 start 获得 target ,需要进行下面的移动:
- 将第一个片段向左移动一步,字符串现在变为 "L___R__R_" 。
- 将最后一个片段向右移动一步,字符串现在变为 "L___R___R" 。
- 将第二个片段向右移动三步,字符串现在变为 "L______RR" 。
可以从字符串 start 得到 target ,所以返回 true 。

示例 2:

输入:start = "R_L_", target = "__LR"
输出:false
解释:字符串 start 中的 'R' 片段可以向右移动一步得到 "_RL_" 。
但是,在这一步之后,不存在可以移动的片段,所以无法从字符串 start 得到 target 。

示例 3:

输入:start = "_R", target = "R_"
输出:false
解释:字符串 start 中的片段只能向右移动,所以无法从字符串 start 得到 target 。

提示:

n == start.length == target.length
1 <= n <= 105
start 和 target 由字符 ‘L’、‘R’ 和 ‘_’ 组成

解题思路

思路:最直观的思路是,条件一是start和target中的L和R的相对顺序是一致的,条件二是在相对顺序一致的情况下,L只能左移,R只能右移,那么该如何实现呢?对于条件一,分别将start和target中的_去掉,然后再判断是否相等,如果相等则满足条件一;对于条件二,分别枚举对应位置的L和R,如果L满足i>=j且R满足i<=j则满足条件二。

class Solution {
public:bool canChange(string start, string target) {// 条件一 start和target中L和R的相对顺序不变auto s=start,t=target;// remove(begin(),end(),c) 移除[b,e)区间内的c 并将c后移 // 字符串长度不变 前面为移除后的字符串 后面为原始字符串s.erase(remove(s.begin(),s.end(),'_'),s.end());// s.erase(begin(),end()) 移除[b,e)区间内字符串t.erase(remove(t.begin(),t.end(),'_'),t.end());// 条件一判断if(s!=t) return false;// 条件二 start中的L只能左移 R只能右移int n=start.length();// 可以使用双指针实现int i=0,j=0;while(i<n&&j<n){while(start[i]=='_')i++;while(target[j]=='_')j++;// 条件二判断if((start[i]=='L'&&i<j)||(start[i]=='R'&&i>j))return false;else{i++;j++;}}return true;}
};

总结:先有思路,再有实现。先库函数,再自己写。remove(begin(),end(),c) 移除[b,e)区间内的c并将c后移,字符串长度不变,前面为移除后的字符串,后面为原始字符串,比如原始字符串s为"_L__R__R_“,使用remove后得到"LRR_R__R_”。s.erase(begin(),end()) 移除[b,e)区间内字符串。

http://www.yayakq.cn/news/717819/

相关文章:

  • 庆阳网站建设报价河南建设工程教育网
  • 做网站一屏有多大不知此网站枉做男人的网站
  • 网站开发教材绿植网站怎么做
  • 站长之家素材网如何注册免费网站域名
  • 企业网站哪家公司好网站建设属于会计哪个科目
  • 网站开发工程师介绍汽车网站建设网
  • 2023全民核酸又开始了网站制作优化全包
  • wordpress 添加过滤器Wordpress网站能做seo吗
  • 招聘做牙技工的网站网站营销外包公司
  • 百度站长工具如何使用wordpress oss官方
  • 集团网站建网站开发 招聘 龙岩
  • 韩国做美食网站做东西的网站有那些
  • 浙江网站建设价格彻底关闭qq顶部小程序入口
  • 网站建设数据库软件图书馆建设网站需要哪些费用
  • 大连设计网站的公司青岛公司网站建设价格低
  • 域名到期了网站会打不开吗建站软件可以不通过网络建设吗
  • 礼品册兑换 网站建设建设一个视频网站己18
  • wordpress 顶一下登封做网站优化
  • 网站目标定位分析网页制作模板及素材
  • 做网站的属于什么专业建站工具评测 discuz
  • 网站建设的空间选择旅游电子商务网站有哪些
  • 淘客网站佣金建设织梦网站图片不显示图片
  • 珠海做网站哪家专业wordpress还原恢复数据库
  • 织梦网站seo工程公司年终工作总结
  • 青岛工程建设管理信息网官方网站拓者设计吧app下载
  • 易优cms仿站教程做百度推广网站被攻击
  • 烟台网站建设seo网站建设 重庆
  • 企业网站后台管理系统观澜做网站
  • 心雨在线高端网站建设专业沛县网站建设
  • 贵州省建设厅网站文件网站开发与网站设计区别