小赵和小钱在练字,小钱对小赵说:你知道吗,我练习的字是有蕴含的。

小赵不服气了,凭什么你的就有蕴含呢?

小钱说,你所看到的并不是我真正练习的字,你需要将我现在写下的字符串里面“%”和“#”之间的字重复符号前的那么多倍,才能看到我真正写的是什么。

你能帮帮小赵吗?

说明:可能存在嵌套的情况,如“3%g2%n##”,返回“gnngnngnn”,输入输出的字符串长度都不超过10000。输入字符串保证合法,且输出的字符串中只包含大小写英文字母。输入格式
一行带数字和嵌套括号的字符串。输出格式
展开的字符串。输入样例:
3%acm#2%acm#
输出样例:
acmacmacmacmacm

思路:

存在嵌套的模式,需要考虑一下递归了,我们人脑做这道题是从里到外,先把最里层的模式串解决,再跳到外面一层,一层一层出去,最终是正确结果。

然而,使用代码的话,只能是从头到尾遍历字符串,如果遇到数字就说明接下来可能是进入模式串,然后一层一层进入到最里层的模式串,解决最里层,然后一层一层返回结果

有些边界值需要注意

我们举例说明一下,
eg: input aaa11%x3%y#zz#
i 从 0 开始,遇到的是字母,则直接添加至 res 中,
直到 s[i] 是数字,则接下来有两种情况:1. s[i+1] 还是数字, 我们需要记录需要重复的次数 times,转至 情况22. s[i+1] 是 %,那么接下来有a. % 后面是字母b. % 后面是数字,进入下一个模式串中...当遇到第一个 # ,我们找到了最里层的结尾标志,将需要重复的字符串返回,并进行重复操作然后就是一层层返回值最终得到答案
def dfs():res = ''global iwhile i < len(s):cur = s[i]if cur == '#': return resif '0' <= cur <= '9':times = ''while s[i] != '%':times += s[i]i += 1i += 1tmp = dfs()res += int(times) * tmpelse:res += curi += 1return res
if __name__ == '__main__':s = input()i = 0print(dfs())
aaa11%x3%y#zz#
aaaxyyyzzxyyyzzxyyyzzxyyyzzxyyyzzxyyyzzxyyyzzxyyyzzxyyyzzxyyyzzxyyyzz

字节跳动笔试题之字符串展开相关推荐

  1. 2018 java 字节跳动笔试题

    想进字节跳动同学注意了,这里是修真院面试笔记整理,那么这里就给大家分享一下 [2018 java 字节跳动笔试题] 一面 实现算法:求全排列. 输入:一个整数n 输出:从1至n所有数字组成的全排列 简 ...

  2. 2021大厂字节跳动笔试题(含答案)

    2021字节跳动web工程师笔试题 第一题 [ {num: 12, city: 'beijing'}, {num: 56, city: 'shanghai'}, {num: 167, city: 'g ...

  3. 最新版大厂字节跳动笔试题(含答案)

    字节跳动测试工程师笔试题 1.阶段评审与同行评审的区别? 参考答案: 同行评审目的:发现小规模工作产品的错误,只要是找错误: 阶段评审目的:评审模块 阶段作品的正确性 可行性 及完整性 同行评审人数: ...

  4. 字节跳动笔试题(一)——18岁生日问题

    前言 之前于6月30日,在下参加了字节跳动游戏研发岗的笔试. 做的一般般,很多题目也都忘了,不过好在对四道编程题还记得比较清楚,这里做一个简单的记录. 18岁生日问题 这道题的大意是给定一个人的出生日 ...

  5. 字节跳动笔试题02万万没想到之抓捕孔连顺

    我叫王大锤,是一名特工.我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺.和我一起行动的还有另外两名特工,我提议 我们在字节跳动大街的N个建筑中选定3个埋伏地点. 为了相互照应,我们决定相距 ...

  6. 2020字节跳动笔试题

    第一题 小明总是睡过头,所以他定了很多闹钟,只有在闹钟响的时候他才会醒过来并且决定起不起床,从他起来算起他需要X分钟到达教室,上课时间为当天的A时B分,请问他最晚可以什么时候起床. 输入描述:第一行为 ...

  7. 【字节跳动笔试题】万万没想到之聪明的编辑

    我叫王大锤,是一家出版社的编辑.我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误.但是,优秀的人总能在平凡的工作中发现真理.我发现一个发现拼写错误的捷径: 1. 三个同样 ...

  8. 2019字节跳动笔试题

    第三题: 有n个人参加编程比赛,比赛结束后每个人都得到一个分数,现在所有人排成一圈(第一个和第n个相邻)领取奖品,要求: 1.现在某个人的分数比左右的人告,那么奖品数量也比左右的人多: 2.每个人至少 ...

  9. 字节跳动笔试题:1. 小于N的质数数量;2. 逆时针二维数组;3. 判断a+bc

    1. 小于N的质数数量 import java.util.Scanner;/*** 计算小于N的质数数量* @author Turing**/ public class Main4 {public s ...

最新文章

  1. Python--day41--事件和信号量之模拟连接数据库并在连接三次后抛出连接超时异常...
  2. 封装CopyFileEx函数,实现文件复制中的暂停,控速,获取进度。
  3. java高分面试指南:redis怎么保证高可用
  4. 1017 A除以B (20分)
  5. ORA-01858: 在要求输入数字处找到非数字字符 13行
  6. C++ 判断类是否有某变量
  7. [有限元]利用虚位移和虚力的定义、对称性推导弹性力学公式
  8. mkhd中的matrix
  9. 混合使用UITabBarController和UINavigationController
  10. 解决安装vc2005运行库时提示Command line option syntax error.Type Command/?for Help
  11. 程序人生|从网瘾少年到微软、BAT、字节offer收割机逆袭之路
  12. 201903-1小中大
  13. win10计算机文件夹隐藏,Win10此电脑6个文件夹隐藏方法
  14. 【论文翻译】SETR:Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformer
  15. Binary_Search(二叉树搜索---------二分)
  16. 网易楚留香获取服务器信息,楚留香手游生活采集物有哪些 获取攻略
  17. ORA-00054 资源正忙
  18. Lsky Pro+云服务器搭建私人图床
  19. 导盲机器人 英语作文_雷军这回OK了!小米或将推出会说英文的 AI 自平衡车
  20. RDKit | 基于RDKit进行构象搜索:构型异构体生成和MMFF聚类

热门文章

  1. java 方法 返回值
  2. 为什么Python不适合写游戏?
  3. vue模板解析(双大括号的解析)以及双向绑定原理
  4. 日常一记(9)--excel将一列数据用逗号隔开转为一行
  5. telnet配置及用法
  6. 二、HBase的核心数据结构 跳跃表、LSM树、布隆过滤器
  7. Opencv 环境配置
  8. win10+VisualStudio2017+opencv3.4.3安装配置教程
  9. 抽象类 ---模板方法
  10. r语言 柱状图加星号_在ggplot条形图和框形图上放上星号-表示显着性水平(p值)...