博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
求两个字符串的最长公共子串
阅读量:4227 次
发布时间:2019-05-26

本文共 1445 字,大约阅读时间需要 4 分钟。

求两个字符串的最长公共子串

function LCS(str1, str2) {    let arr = []    for (let i = 0; i < str1.length; i++) {        arr.push([])        for (let j = 0; j < str2.length; j++) {            if (str2[j] === str1[i]) {                if (i && j && arr[i - 1][j - 1]) {                    arr[i].push(arr[i - 1][j - 1] + 1)                } else {                    arr[i].push(1)                }            } else {                arr[i].push(0)            }        }    }    for (let i = 0; i < str1.length; i++) {        console.log(arr[i].join(' '))    }    let max = 0    let index = 0    for (let i = 0; i < arr.length; i++) {        for (let j = 0; j < arr[0].length; j++) {            if (arr[i][j] > max) {                index = j                max = arr[i][j]            }        }    }    return str2.substr(index - max + 1, max)}
function LCS(str1, str2) {    let max = 0    let left = 0    let right = 0    for (let i = 0; i < str2.length;) {        for (j = i + 1; j <= str2.length; j++) {            let sub = str2.substring(i, j)            if (str1.includes(sub)) {                let tempLeft = i                let tempRight = j                if (tempRight - tempLeft > max) {                    left = i                    right = j                    max = right - left                }            } else {                i = j - i > 1 ? j - 1 : j                break            }        }    }    return str2.substring(left, right)}

转载地址:http://ztdqi.baihongyu.com/

你可能感兴趣的文章
关于MFC下检查和消除内存泄露的技巧
查看>>
内存操作越界略述
查看>>
消息与消息队列
查看>>
关于#include "stdafx.h"
查看>>
VC下线程同步的三种方法(互斥、事件、临界区)/(转)
查看>>
释放对象数组:delete与delete[]
查看>>
非常好的一篇U-BOOT的文章--转载
查看>>
计算机经典书籍
查看>>
ubuntu9.10 下开通samba 服务
查看>>
你的第一个中断处理程序
查看>>
内核模块编程-第一课
查看>>
ubuntu内核源码树的建立
查看>>
linux device driver II 的模块程序在linux kernel 2.6.x 上的移植
查看>>
Linux启动过程综述 作者:杨沙洲
查看>>
linux2.6.x的配置文件kconfig语法
查看>>
中断实例-tasklet
查看>>
linux内核引导参数
查看>>
MIPS Linux 下添加系统调用,以Linux kernel 2.6.18为例
查看>>
linux mips启动分析
查看>>
mips linux
查看>>