《程序员面试题精选》05.输出一个字符串的所有子串
来源:互联网 发布:知画与永琪圆房的文 编辑:程序博客网 时间:2024/04/30 02:43
题目:给定一个字符串,输出其所有子字符串,例如给定字符串abc,则输出 :a,b,c,d,ab,bc,cd,abc,bcd,abcd。
用递归的思路就是先找所有以a开头的子串,然后再找以b开头的子串,直到d。
其实用python解决非常省事,见下面的代码。
#!/usr/bin/env python# -*- coding: utf-8 -*-# Python 3.6from itertools import accumulatedef all_sub_string(a_string): if len(a_string) == 1: return [a_string] else: return list(accumulate(a_string)) + all_sub_string(a_string[1:])print(all_sub_string('abcd'))# ['a', 'ab', 'abc', 'abcd', 'b', 'bc', 'bcd', 'c', 'cd', 'd']
注意python有默认递归1k层的限制,换成递推的写法也可以。
阅读全文
0 0
- 《程序员面试题精选》05.输出一个字符串的所有子串
- 程序员面试题精选--从头到尾输出字符串
- 程序员面试题精选-- 字符串的组合
- 程序员面试题精选-- 字符串的组合
- (程序员面试题)字符串处理之获取字符串的所有子串
- 程序员面试题精选100题(46)-对称子字符串的最大长度
- 程序员面试题精选100题(46)-对称子字符串的最大长度
- 程序员面试题精选100题(46)-对称子字符串的最大长度
- 程序员面试题精选100题(46)-对称子字符串的最大长度
- 对称子字符串的最大长度(程序员面试题精选100题)
- 程序员面试题精选100题(46)-对称子字符串的最大长度[算法]
- 程序员面试题精选(20):最长公共子串
- 程序员面试题精选(28):字符串的排列
- 程序员面试题精选100题(28)-字符串的排列
- 程序员面试题精选——字符串的排列
- 程序员面试题精选100题(28)-字符串的排列
- 程序员面试题精选100题(59)-字符串的组合
- 程序员面试题精选100题(59)-字符串的组合
- jQuery中的animate
- 并发编程修炼七:同步容器
- ArrayList的坑
- 每次New一个BouncyCastleProvider导致的内存泄漏
- linux查看主机名以及更改主机名
- 《程序员面试题精选》05.输出一个字符串的所有子串
- 写在前面
- Retrofit2.0的get请求和post请求(入门级)
- 去除URL中带有的jsessionid
- leetcode: 8. String to Integer (atoi)
- Android自定义属性
- mac 系统中用 ngrok 内网穿透实现微信测试
- 从银行转账失败到分布式事务:总结与思考
- hdu 5929 Basic Data Structure(找规律+deque模拟)