删除指定字符串的算法题,面试时候没做出来

Posted lxg226

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除指定字符串的算法题,面试时候没做出来相关的知识,希望对你有一定的参考价值。

很多年没来这里了。

今天上午参加了字节跳动视频面试,面试官让现场做一道算法题,有点紧张做错了。我把题目发出来,有需要的朋友看看。

题目:删除字符串
描述:给定一个字符串,不考虑大小写,将该字符串中连续的某个子串‘XXX‘删除,返回结果中不包含‘XXX‘.
例子:
输入字符串:aaaabbbbb
XXX子串:ab
输出结果:b

结束面试后,花了几分钟时间做了一下(用python语言实现)。

 1 def removeString(in_str, remove_str=ab):
 2     ret_list=[]
 3     str_len=len(remove_str)
 4     need_skip_index=-1
 5     for i, value in enumerate(in_str):
 6         if i < need_skip_index:
 7             continue
 8         elif in_str[i: i+str_len] == remove_str:
 9             need_skip_index=i+str_len
10             continue
11         else:
12             ret_list.append(value)
13             if ‘‘.join(ret_list[-str_len:]) == remove_str:
14                 ret_list = ret_list[:len(ret_list)-str_len]
15     return ‘‘.join(ret_list)
16 
17 ret=removeString(aababc)
18 print(ret)

 

以上是关于删除指定字符串的算法题,面试时候没做出来的主要内容,如果未能解决你的问题,请参考以下文章

一道看似非常难的面试算法题

一道看似非常难的面试算法题

记一道数字旋转排列算法题

记一道字节跳动的算法面试题

奉劝还在找工作的学弟学妹们:这一道字节跳动的算法面试题一定要会!

Java面试宝典,java指定字符集