博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最长公共子序列LCS
阅读量:5884 次
发布时间:2019-06-19

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

  1. 最长公共子序列
  2. 动态规划问题,局部最小单元:两值是否相等,相等则从对角线上个位置处的数值+1,继续状态延续; 不相等则从上下两个过去的位置找值保持延续,在上下两个过去位置中保持着之前的最长子序列。

3.对于状态的理解,保持最佳的,或者延续最佳的。

public class LongestCommonSubsequence {    public static int compute(char[] str1, char[] str2) {        int substringLength1 = str1.length;        int substringLength2 = str2.length;        int[][] opt = new int[substringLength1 + 1][substringLength2 + 1];        for (int i = substringLength1-1; i >= 0; i--) {            for (int j = substringLength2-1; j >= 0; j--) {//                System.out.println(i);//                System.out.println(j);//                System.out.println("-*-  ");                if (str1[i] == str2[j]) {                    opt[i][j] = opt[i + 1][j + 1] + 1;                } else {                    opt[i][j] = Math.max(opt[i + 1][j], opt[i][j + 1]);                }            }        }        return opt[0][0];    }    public static int compute(String str1,String str2){        return compute(str1.toCharArray(),str2.toCharArray());    }    public static void main(String[] args){        String a1="abcd";        String a2="bcead";        int l1=compute(a1,a2);        System.out.println(l1);    }}

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

你可能感兴趣的文章
dubbo 安装部署Windows
查看>>
eclipse 导入maven 父子项目
查看>>
maven基本要点
查看>>
通过 KVM+virt-manager配置双屏虚拟机(两套键盘。鼠标)
查看>>
Slmgr.vbs参数使用方法[转自windows10操作系统]
查看>>
打开远程桌面命令
查看>>
LAMP架构(nginx安装,默认虚拟主机,用户认证,域名重定向,nginx配置文件详解)...
查看>>
Spring Boot多数据源配置与使用
查看>>
Spring Data + Thymeleaf 3 + Bootstrap 4 实现分页器
查看>>
对Spring IOC的理解
查看>>
javascript中childNodes.length兼容性问题
查看>>
SQL语句的一些基础
查看>>
Eclispe Java代码注释模板
查看>>
设置 SSH 通过密钥登录
查看>>
leadtools
查看>>
仿百度搜索框自动完成提示功能
查看>>
PHP的学习--Traits新特性
查看>>
GnuPG如何安全地分发私钥(5)分发我的私钥(+签名)
查看>>
高性能golang后端处理网络模块包
查看>>
android面试题
查看>>