刷题训练 day46 | 第九章 动态规划 part14

news/2024/6/16 14:26:59 标签: 动态规划, 算法, 数据结构, java, leetcode

题目1:

java">class Solution {
    public int longestCommonSubsequence(String text1, String text2) {
        int[][] dp = new int[text1.length()+1][text2.length()+1];
        for (int i=0;i<dp.length;i++){
            dp[i][0]=0;
        }
        for (int j=0;j<dp[1].length;j++){
            dp[0][j]=0;
        }
        for (int i=1;i<=text1.length();i++){
            for (int j=1;j<=text2.length();j++){
                if (text1.charAt(i-1)==text2.charAt(j-1)){
                    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[text1.length()][text2.length()];
    }
}

题目2:

java">class Solution {
    public int maxUncrossedLines(int[] nums1, int[] nums2) {
        int[][] dp = new int[nums1.length+1][nums2.length+1];
        for (int i=0;i<dp.length;i++){
            dp[i][0]=0;
        }
        for (int j=0;j<dp[0].length;j++){
            dp[0][j]=0;
        }
        for (int i=1;i<dp.length;i++){
            for (int j=1;j<dp[0].length;j++){
                if (nums1[i-1]==nums2[j-1]){
                    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[nums1.length][nums2.length];
    }
}

题目3:

java">class Solution {
    public int maxSubArray(int[] nums) {
        int[] dp = new int[nums.length];
        dp[0]=nums[0];
        int result=Integer.MIN_VALUE;
        for (int i=1;i<nums.length;i++){
          dp[i]=Math.max(dp[i-1]+nums[i],nums[i]);
        }
        for (int i=0;i<nums.length;i++){
          result=Math.max(result,dp[i]);
        }
        return result;
    }
}


http://www.niftyadmin.cn/n/5243076.html

相关文章

二百一十三、Flume——Flume拓扑结构介绍

一、目的 最近在看尚硅谷的Flume资料&#xff0c;看到拓扑结构这一块&#xff0c;觉得蛮有意思&#xff0c;于是整理一下Flume的4种拓扑结构 二、拓扑结构 &#xff08;一&#xff09;简单串联 1、结构含义 这种模式是将多个flume顺序连接起来了&#xff0c;从最初的sourc…

Android 10.0 关闭相机开始录像时的快门声音

Android 10.0 关闭相机开始录像时的快门声音 近来接到项目需求反馈提到在使用相机录像时&#xff0c;点击开始录像按钮后快门的声音也会被录进去&#xff0c;需要将开始录像的快门声音关闭&#xff0c;具体修改参照如下&#xff1a; /vendor/mediatek/proprietary/packages/a…

etcd 与 Consul 的一致性读对比

本文分享和对比了 etcd 和 Consul 这两个存储的一致性读的实现。 作者&#xff1a;戴岳兵&#xff0c;爱可生研发中心工程师&#xff0c;负责项目的需求开发与维护工作。 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。 本…

持续集成交付CICD:Jenkins使用GitLab共享库实现自动更新前后端项目质量配置

目录 一、实验 1.Jenkins使用GitLab共享库实现自动更新后端项目质量配置 2.Jenkins使用GitLab共享库实现自动更新前端项目质量配置 二、问题 1.Sonarqube如何添加自定义质量阈 一、实验 1.Jenkins使用GitLab共享库实现自动更新后端项目质量配置 (1)修改GitLab的Sonar.gr…

go基础语法10问(1)

1.使用值为 nil 的 slice、map会发生啥 允许对值为 nil 的 slice 添加元素&#xff0c;但对值为 nil 的 map 添加元素&#xff0c;则会造成运行时 panic。 // map 错误示例 func main() {var m map[string]intm["one"] 1 // error: panic: assignment to entry i…

Jtti:网站服务器如何预防CC攻击?

CC攻击主要通过大量的请求或连接不断地向目标网站服务器发送流量&#xff0c;以消耗其带宽、资源和处理能力。为了有效应对CC攻击&#xff0c;以下是一些关键的防御策略&#xff1a; 1.使用防火墙 安装和配置一个强大的防火墙是预防CC攻击的首要步骤。防火墙可以根据IP地址、用…

10.Java程序设计-基于SSM框架的微信小程序家教信息管理系统的设计与实现

摘要是论文的开篇&#xff0c;用于简要概述研究的目的、方法、主要结果和结论。以下是一个简化的摘要示例&#xff0c;你可以根据实际情况进行修改和扩展&#xff1a; 摘要 随着社会的发展和教育需求的增长&#xff0c;家教服务作为一种个性化的学习方式受到了广泛关注。为了更…

02 CSS基础入门

文章目录 一、CSS介绍1. 简介2. 相关网站3. HTML引入方式 二、选择器1. 标签选择器2. 类选择器3. ID选择器4. 群组选择器 四、样式1. 字体样式2. 文本样式3. 边框样式4. 表格样式 五、模型和布局1. 盒子模型2. 网页布局 一、CSS介绍 1. 简介 CSS主要用于控制网页的外观&#…