【备战秋招】每日一题:2023.08.23-华为-第二题-文本编辑器

为了更好的阅读体检,可以查看我的算法学习网
在线评测链接:P1488

题目内容

塔子哥玩腻了记事本,打算自己写一个文本编辑器。该编辑器有以下功能:

  1. 插入:insert str。表示将字符串 s t r str str插入到当前游标所处位置,同时游标移动到 s t r str str的右边。
  2. 删除:delete len。表示将游标左边长度为 l e n len len的字符串删除。要求该功能命令合法,即 l e n ≥ 0 len\ge 0 len0,如果 l e n < 0 len\lt0 len<0或者 l e n len len大于字符串长度,则认为输入非法,不进行操作。
  3. 移动:move cnt。将游标移动 c n t cnt cnt次,如果为负数,向左移动,为正数,向右移动。如果 c n t cnt cnt超过字符串左右边界,那么认为非法,不进行移动。
  4. 复制:copy。将游标左边字符串复制并插入到游标的右边。游标位置不变

现在塔子哥已经写好了该文本编辑器,而你正在使用它,那么输入一系列命令后,会得到什么结果呢?

输入描述

每行仅输入一个功能对应的操作。如果为 e n d end end,代表操作结束。

初始时,字符串为空。游标位置为 0 0 0

1 ≤ s t r . l e n g t h ≤ 40 1 \le str.length \le 40 1str.length40

1 ≤ l e n ≤ 40 1 \le len \le 40 1len40

− 40 ≤ c n t ≤ 40 -40 \le cnt \le 40 40cnt40

调用insert,delete,move和copy的总次数不超过200次。

输出描述

最终的文本结果,注意,结果应当包含游标,用"|"表示。

样例

输入

insert test
insert pass
move 10
delete 4
insert fail
move -4
copy
end

输出

test|testfail
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

塔子哥学算法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值