字符串处理:最长回文子串,正着读,反着读都一样就是回文
基本思路是对任意字符串,如果头和尾相同,那么它的最长回文子串一定是去头去尾之后的部分的最长回文子串加上头和尾。…
基本思路是对任意字符串,如果头和尾相同,那么它的最长回文子串一定是去头去尾之后的部分的最长回文子串加上头和尾。…
字符串处理:最长公共字串 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大法好。 …