字符串算法大全

1、LCS

def lcs(a,b):
    lena=len(a)
    lenb=len(b)
    c=[[0 for i in range(lenb+1)] for j in range(lena+1)]
    flag=[[0 for i in range(lenb+1)] for j in range(lena+1)]
    for i in range(lena):
        for j in range(lenb):
            if a[i]==b[j]:
                c[i+1][j+1]=c[i][j]+1
                flag[i+1][j+1]=‘ok‘
            elif c[i+1][j]>c[i][j+1]:
                c[i+1][j+1]=c[i+1][j]
                flag[i+1][j+1]=‘left‘
            else:
                c[i+1][j+1]=c[i][j+1]
                flag[i+1][j+1]=‘up‘
    return c,flag

def printLcs(flag,a,i,j):
    if i==0 or j==0:
        return
    if flag[i][j]==‘ok‘:
        printLcs(flag,a,i-1,j-1)
        print(a[i-1],end=‘‘)
    elif flag[i][j]==‘left‘:
        printLcs(flag,a,i,j-1)
    else:
        printLcs(flag,a,i-1,j)

a=‘ABCBDAB‘
b=‘BDCABA‘
c,flag=lcs(a,b)
for i in c:
    print(i)
print(‘‘)
for j in flag:
    print(j)
print(‘‘)
printLcs(flag,a,len(a),len(b))
print(‘‘)
时间: 2024-12-11 11:37:52

字符串算法大全的相关文章

Java经典问题算法大全

Java经典问题算法大全/*[程序1]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... */ package cn.com.flywater.FiftyAlgorthm; public class FirstRabbit {public static final int MONTH = 15;public static v

算法大全(c,c++)

http://www.2cto.com/kf/201109/105758.html 算法大全(C,C++)一. 数论算法 1.求两数的最大公约数function gcd(a,b:integer):integer;beginif b=0 then gcd:=aelse gcd:=gcd (b,a mod b);end ; 2.求两数的最小公倍数function lcm(a,b:integer):integer;beginif a<b then swap(a,b);lcm:=a;while lcm

字符串算法之 AC自己主动机

近期一直在学习字符串之类的算法,感觉BF算法,尽管非常easy理解,可是easy超时,全部就想学习其它的一些字符串算法来提高一下,近期学习了一下AC自己主动机.尽管感觉有所收获,可是还是有些朦胧的感觉,在此总结一下,希望大家不吝赐教. 一.AC自己主动机的原理: Aho-Corasick automaton.该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之中的一个. 一个常见的样例就是给出N个单词,在给出一段包括m个字符的文章,让你找出有多少个单词在这文章中出现过,.要搞懂AC自己主动

目前所有的ANN神经网络算法大全

http://blog.sina.com.cn/s/blog_98238f850102w7ik.html 目前所有的ANN神经网络算法大全 (2016-01-20 10:34:17) 转载▼ 标签: it   概述 1 BP神经网络 1.1 主要功能 1.2 优点及其局限性 2 RBF(径向基)神经网络 2.1 主要功能 2.2 优点及其局限性 3 感知器神经网络 3.1 主要功能 3.2 优点及其局限性 4 线性神经网络 4.1 主要功能 4.2优点及其局限性 5自组织神经网络 5.1 自组织

C语言字符串函数大全

转载自http://www.360doc.com/content/08/0723/22/26860_1462024.shtml# 函数名: stpcpy 功能: 拷贝一个字符串到另一个 用法: char *stpcpy(char *destin, char *source); 程序例: #include<stdio.h> #include<string.h> int main(void) { char string[10]; char *str1 = "abcdefghi

【经典算法大全】收集51种经典算法 初学者必备

<经典算法大全>是一款IOS平台的应用.里面收录了51种常用算法,都是一些基础问题.博主觊觎了好久,可悲哀的是博主没有苹果,所以从网上下了老奔的整理版并且每个都手敲了一遍. 虽然网上也有博客贴了出来,但是自己写写感觉总是好的.现在分享个大家. 代码和运行结果难免有出错的地方,请大家多多包涵. 1.河内之塔(汉诺塔) 2.费式数列 3.巴斯卡三角形 4.三色棋 5.老鼠走迷宫(1) 6.老鼠走迷宫(2) 7.骑士走棋盘 8.八皇后 9.八枚银币 10.生命游戏 11.字串核对 12.双色河内塔,

字符串算法

字符串算法 字符串字符判重算法 字符串反转算法 字符串左旋算法 字符串右旋算法 字符串旋转匹配算法 字符串包含算法 字符串删除算法 字符串原地替换算法 字符串压缩算法 字符串变位词检测算法 字符串转整数算法 字符串全排列算法 字符串字典序组合算法 字符串的(括号)生成算法 字符串字符判重算法 给定字符串,确定是否字符串中的所有字符全都是不同的.假设字符集是 ASCII. 1 using System; 2 using System.Collections.Generic; 3 4 namespa

经典算法大全

原文地址:经典算法大全 作者:liurhyme 经                                                                    典                                                                    算                                                                    法                  

SQL Server 2008连接字符串写法大全

SQL Server 2008连接字符串写法大全 一..NET Framework Data Provider for SQL Server 类型:.NET Framework类库使用:System.Data.SqlClient.SqlConnection厂商:Microsoft 标准安全连接 Data Source = myServerAddress;Initial Catalog = myDataBase;User Id = myUsername;Password = myPassword;