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

2023-08-21力扣每日一题

链接:

2337. 移动片段得到字符串

题意:

L可以和左边的_交换,R可以和右边的_交换,求判断A是否能通过交换(不限次数)变成B

解:

观察可知,如果存在RL,一定不能交换出LR,所以按序遍历A和B时,除去_,遍历到的字符需要相同

除外,判断A的L位置是否大于等于B的L(A的L通过左移变成B的L),A的R位置是否小于等于B的R即可

双指针解题

实际代码:

#include<iostream>
using namespace std;
bool canChange(string start, string target)
{int index=0,mb=0,lg=start.size();while(true){while(mb<lg && target[mb]=='_') mb++;while(index<lg && start[index]=='_') index++;if(index==mb && index==lg) break;if(target[mb]!=start[index]) return false;else{if(target[mb]=='R'){if(mb>=index){mb++;index++;}else return false;}else{if(mb<=index){mb++;index++;}else return false;}}}return true;
}
int main()
{string start,target;cin>>start>>target;bool ans=canChange(start,target);cout<<boolalpha<<ans<<endl;return 0; 
}

限制:

  • n == start.length == target.length
  • 1 <= n <= 105
  • starttarget 由字符 'L''R''_' 组成
http://www.lryc.cn/news/134363.html

相关文章:

  • 对象存储服务-MinIO基本集成
  • Yarn介绍及快速安装 - Debian/Ubuntu Linux
  • 【新日语(2)】第10課 中国の生活に慣れるかどうか少し心配です
  • Python 网页解析初级篇:BeautifulSoup库的入门使用
  • Spring Schedular 定时任务
  • 营业额统计
  • 使用lodash的throttle函数会触发两次
  • 如何使用CSS实现一个瀑布流布局?
  • dfs之有重复字符串的排列组合
  • Java之抽象类
  • “无Internet连接但是可以上网” 解决全流程
  • VS2022 CMake报错解决小结
  • java之webservice_aegis.xml学习
  • 总结 TCP 协议的相关特性
  • 不负众望~历时4年修炼,这本册子终于成书了(文末赠书)
  • 【校招VIP】java语言考点之垃圾回收算法
  • juc概述和Lock接口
  • 图像降采样的计算原理:F.interpolate INTER_AREA
  • 云上的甜蜜早安:腾讯云云函数助力PHP打造女友专属每日推送
  • Javaweb基础学习(3)
  • 使用在 Web 浏览器中运行的 VSCode 实现 ROS2 测程法
  • 快速学习GO语言总结
  • 尚硅谷宋红康MySQL笔记 10-18
  • Java 面试题--SpringBoot篇
  • GitKraken 详细图文教程
  • ubuntu20.04 root用户下使用中文输入法——root用户pycharm无法用中文输入法问题
  • FastDFS与Nginx结合搭建文件服务器,并实现公网访问【内网穿透】
  • 嵌入式蓝海变红海?其实是大浪淘沙!
  • 【附安装包】Solid Edge2023安装教程最强CAD选择
  • 494. 目标和