#求一个字符串或数组的全部子集
def getAllSub(strs):nlen(strs)for i in range(2**n): #循环输出子集result[]for j in range(n): #判断二进制下标为j的位置数是否为1if(i>>j)%2:result.append(strs[j])print(result)
if __name__ __main__:strs[1,2,3]#strsabcgetAllS…
#字符串中出现的第一个最长重复子串
class commonsubstring():def maxlen(self,s1,s2): #最长公共子串的长度for i in range(min(len(s1),len(s2))):if s1[i]s2[i]:i1else:break return idef getMaxCom(self,strs):nlen(strs)suf[None]*n #用于存放后缀字符串数组maxSubLen0 #…
#统计字符串中连续的重复字符个数
def maxDup(strs):nlen(strs)maxlen1length1maxstr[]for i in range(n-1): if strs[i]strs[i1]:length1maxstr.append(strs[i1])if length>maxlen:maxlenlengthelse:length1print(maxlen)
if __name__ __main__:strsabbbcmaxDup(strs) #结…
#按照给定字母序列对字符数组排序
def sort(sequence,strs):keylist(sequence) #序列转列表[d,g,e,c,f,b,o,a]value[i for i in range(len(sequence))] #value[0,1,2,3,4,5,6,7]dicdict(zip(key,value)) #dic{d:0,g:1,e:2,c:3,f:4,b:5,o:6,a:7}data,number[],[]for i in range(…