字符串处理:最长回文子串,正着读,反着读都一样就是回文
基本思路是对任意字符串,如果头和尾相同,那么它的最长回文子串一定是去头去尾之后的部分的最长回文子串加上头和尾。…
专注于算法分析与设计!
基本思路是对任意字符串,如果头和尾相同,那么它的最长回文子串一定是去头去尾之后的部分的最长回文子串加上头和尾。…
字符串处理:最长公共字串 python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# coding: utf-8 # 字符串处理:最长公共字串 # 例如:str1=xyzhaha 1223 543210 # str2=1223543210xyzccasdasdasd # 结果:543210 # 代码:IDE暴力循环,手写困难综合症,233333;动态规划方法不再叙述。 def func(str1, str2): startStr1 = 0 startStr2 = 0 maxLen = 0 for i in range(len(str1)): for j in range(len(str2)): tempLength = 0 tempi = i tempj = j while tempi < len(str1) and tempj < len(str2) and str1[tempi] == str2[tempj]: tempLength += 1 tempi += 1 tempj += 1 if tempLength > maxLen: startStr1 = i startStr2 = j maxLen = tempLength return startStr1, startStr2, maxLen if __name__ == "__main__": str1="xyzhaha 1223 543210" str2="1223543210xyzccasdasdasd" str1Pos, str2Pos, maxLen = func(str1,str2) print("str1: %s", str1[str1Pos:str1Pos+maxLen]) print("str2: %s", str2[str2Pos:str2Pos+maxLen]) |
&n…
老程序狗遇到的面试问题,字符串处理:反转各个子单词,空格保持不变,手写代码完全无误真tm困难,IDE大法好。 …
老程序狗经常遇到的面试问题,23333333。dp字符串处理:求最大递增字串长度。。mark。半路出家,半路忘…
根据年月日计算星期几 主要是利用localtime函数(百度百科)获得计算机当前系统时间 然后根据基姆拉尔森计…
首先来看看原题 微软2010年笔试题 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的…
在我的博客对冒泡排序,直接插入排序,直接选择排序,希尔排序,归并排序,快速排序和堆排序这七种常用的排序方法进行…
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么…
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想…
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一…