该程序在Python中找到最长的字母词组子序列的长度
假设我们有两个小写的字符串S和T,我们必须找到最长的字谜子序列的长度。
因此,如果输入类似于S=“helloworld”,T=“hellorld”,则输出将为8
为了解决这个问题,我们将遵循以下步骤-
c:=新映射,d:=新映射
对于介于0到a大小的i,执行
c[a[i]]:=1
c[a[i]]:=c[a[i]]+1
如果c中的a[i],则
除此以外,
对于0到b大小的i,执行
d[b[i]]:=1
d[b[i]]:=d[b[i]]+1
如果d中的b[i],则
除此以外,
res:=0
对于c中的每个ch,
res:=res+c[ch]和d[ch]的最小值
如果d[ch]>0,则
返回资源
让我们看下面的实现以更好地理解-
示例
class Solution: def solve(self, a, b): c, d = {}, {} for i in range(len(a)): if a[i] in c: c[a[i]] += 1 else: c[a[i]] = 1 for i in range(len(b)): if b[i] in d: d[b[i]] += 1 else: d[b[i]] = 1 res = 0 for ch in c: if d.get(ch, 0) > 0: res += min(c[ch], d[ch]) return res ob = Solution()S = "helloworld" T = "hellorld" print(ob.solve(S, T))
输入值
S = "helloworld", T = "hellorld"
输出结果
1