字符串
字符串常见面试题目总结
liuwangleoooO
失败了 别给自己找理由 就是菜而已!
展开
-
字符串(python)——字符串数组中的最长公共前缀
文章目录字符串数组中的最长公共前缀字符串数组中的最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。def findLongestCommonPrefix(strarr): if not strarr原创 2021-04-28 17:33:04 · 1256 阅读 · 0 评论 -
字符串篇(python)——字符串数组中两个字符串的最小距离
题目描述给定一个字符串数组strs,再给定两个字符串str1和str2,返回在strs中str1和str2的最小距离,如果str1或str2为null,或不在strs中,返回-1。def findMinDistance(strs, str1, str2): if str1 not in strs or str2 not in strs: return -1 index_l1 = [i for i, j in enumerate(strs) if j == str1].原创 2021-04-21 20:46:58 · 580 阅读 · 0 评论 -
一次性让你彻底明白Manacher算法(马拉车)—解决最长回文字符串问题
马拉车算法中心扩展法Manacher算法中心扩展法判断一个字符串是否为回文字符串最简单的方法:从字符串最中间的字符开始向两边扩展,通过比较左右两边是否相等就可以确定这个字符串是否为回文字符串。这种方法对于字符串长度为奇数和偶数的情况需要分情况讨论。思路对于字符串中的每一个字符串Ci,向两边扩展,找出以这个字符串为中心的回文字符串的长度,以Ci为中心向两边扩展以Ci和Ci+1为中心向两边扩展class Test(): def __init__(self): self原创 2020-12-13 22:17:54 · 1513 阅读 · 0 评论 -
字符串篇(python)—如何统计字符串中连续的重复字符个数
"""递归实现一个求字符串中连续出现相同字符的最大值例如 字符串 "aaabbcc" 最大值为a 3解题思路遍历字符串的时候定义两个变量 curMaxLen记录当前遍历字符重复的连续字符个数maxLen遍历到目前为止找到最长的连续重复字符的个数"""def getMaxDupChar(s, startIndex, curMaxLen, maxLen): if startIndex == len(s) - 1: return max(curMaxLen, maxLen原创 2020-12-10 09:22:30 · 9934 阅读 · 0 评论 -
字符串篇(python)—如何找到由其他单词组成的最长单词
如何找到由其他单词组成的最长单词给定一个字符串数组 找出数组中最长的字符串 使其能由数组中其他的字符串组成例如给定字符串数组 [“test”,“tester”,“testertest”,“testing”,“apple”,“seattle”,“banana”,“batting”,“ngcat”,“batti”,“bat”,“testingtester”,“testbattingcat”]满足要求的字符串 testbattingcat 组成的字符串 test batti ngcatclass L原创 2020-12-09 08:51:56 · 3816 阅读 · 0 评论 -
字符串篇(python)—如何判断字符串是否包含重复字符
如何判断字符串是否包含重复字符一种以时间换空间的方法"""判断一个字符串是否重复字符 例如:good就包含重复字符 而abc就不包含重复字符串"""def isDup(strs): lens = len(strs) i = 0 while i < lens: j = i + 1 while j < lens: if list(strs)[j] == list(strs)[i]:原创 2020-12-08 08:41:02 · 10194 阅读 · 4 评论 -
字符串篇(python)—按照给定的字母序列对单词数组排序
按照给定的字母序列对单词数组排序字母序列 [d,g,e,c,f,b,o,a]实现一个方法 要求对方输入一组字符串 input= [‘bed’,‘dog’,‘dear’,‘eye’] 按照字母顺序排序并打印 dear dog eye bed# 主要的思路给定的字母序列建立一个可以进行大小比较的序列 采用map数据结构实现map的键为给定的字母序列 值为依次递增的正整数对于没有在字母序列中的字母,对应的键按-1处理# 根据char_to_int规定的字符的大小关系比较两个字符的大小de原创 2020-12-06 09:51:07 · 4102 阅读 · 0 评论 -
字符串篇(python)—两个字符串的最长公共子序列
字符串篇(python)—两个字符串的最长公共子序列给定两个字符串A,B,长度分别为m,n。要求求出他们的最长公共子序列,返回其长度,例如A = “hello word”B = “loop”最长公共子序列为“loo” 长度为3思路动态规划的子问题res[i][j]为截止到字符串A的第i个字符和截止到字符串B的第j个字符的最长公共子序列。由此可以得出递推公式当i=0 or j=0 res[i][j] = 0当A[i] == B[j]时 res[i][j] = res[i-1][j-1]+1原创 2020-12-06 09:42:39 · 4966 阅读 · 5 评论 -
字符串篇(python)—字符串里最长的回文字符串
字符串里最长的回文字符串回文字符串:一个字符串从左到右与从右到左遍历得到的序列是相同的例如 abcaba是回文字符串 abcab不是回文字符串abcdefgfedxyz——>defgfed暴力破解法"""下面字串中不是回文字符串用f表示 反则用t表示例如字符串 "babad"1. b a #f b a b #t 3 b a b a #f b a b a d #f2. a b #f a b a #t 3 a b a d #f3. b a #f b a d原创 2020-12-05 10:34:57 · 3610 阅读 · 0 评论 -
字符串篇(python)—消除字符串中嵌套的括号
消除字符串中嵌套的括号给定一个如下格式的字符串,(1,(2,3),(4,(5,6),7)) 括号内的元素可以是数字 也可以是另外一个括号实现一个算法消除嵌套括号 例如变成(1,2,3,4,5,6,7) 如果表达式有误 就报错def removeNestedOare(strs): if strs == None: return strs num = 0 if list(strs)[0] != '(' or list(strs)[-1] != ')': return None sb =原创 2020-12-04 09:22:44 · 4614 阅读 · 2 评论 -
字符串篇(python)—两个字符串的最长公共子串
两个字符串的最长公共子串字符串s1=“acffdcg”,s2=“dfsdcgff”,s1和s2的最长公共子串为"dcg"动态规划法def getMaxSubStr(s1, s2): maxL, count = 0, 0 m = [[0 for i in range(len(s2) + 1)] for j in range(len(s1) + 1)] for i in range(len(s1)): for j in range(len(s2)):原创 2020-12-03 09:10:52 · 3586 阅读 · 0 评论