当前位置: 首页 > article >正文

动态规划两个数组dp问题系列一>最长公共子序列

题目:

  


解析: 

状态表示+状态转移方程: 

 


初始化+填表顺序+返回值: 

 


代码: 

class Solution {
    public int longestCommonSubsequence(String s1, String s2) {
        int m = s1.length(), n = s2.length();
        s1 = " "+ s1; s2 = " "+ s2;

        int[][] dp = new int[m + 1][n + 1];
        for(int i = 1; i <= m; i++)
            for(int j = 1; j <= n; j++){
                if(s1.charAt(i) == s2.charAt(j)) 
                    dp[i][j] = dp[i - 1][j - 1] + 1;
                else
                    dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
            }

        return dp[m][n];
    }
}

http://www.kler.cn/a/526740.html

相关文章:

  • android 圆形弹窗摄像头开发踩坑——源码————未来之窗跨平台操作
  • NVIDIA GPU介绍:概念、序列、核心、A100、H100
  • 数仓ETL测试
  • 智慧园区管理平台实现智能整合提升企业运营模式与管理效率
  • AI在自动化测试中的伦理挑战
  • Kafka常见问题之 org.apache.kafka.common.errors.RecordTooLargeException
  • 网站快速收录:利用RSS订阅提升效率
  • fpga系列 硬件:FPGA VITIS PS端HELLO WORLD在 ZYNQ EBAZ4203板上实现
  • ADC 精度 第二部分:总的未调整误差解析
  • 33333333333
  • Autogen_core 测试代码:test_cancellation.py
  • Electron工具Electron Fiddle
  • 【TypeScript】TypeScript 运算符
  • AI 的安全性与合规性:实践中的最佳安全策略
  • 【Block总结】PKI 模块,无膨胀多尺度卷积,增强特征提取的能力|即插即用
  • 【华为OD-E卷 - 分积木 100分(python、java、c++、js、c)】
  • Autogen_core: test_code_executor.py
  • 算法---快速排序
  • Python3 【集合】避坑指南:常见错误解析
  • 【解决方案】MuMu模拟器移植系统进度条卡住98%无法打开
  • 快速提升网站收录:避免常见SEO误区
  • 深入解析JPA实体监听器的使用与实践
  • AI学习指南HuggingFace篇-Hugging Face 的环境搭建
  • 自由学习记录(33)
  • INCOSE需求编写指南-附录 B: 首字母缩略词和缩写
  • 详解python的单例模式