首页 > 编程语言 >算法学习day52动态规划part13-674、300、718

算法学习day52动态规划part13-674、300、718

时间:2023-06-11 13:22:32浏览次数:48  
标签:718 674 part13 int length 数组 res 序列 dp

package LeetCode.DPpart13;
/**
 * 674. 最长连续递增序列
 * 给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。
 * 连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,
 * 如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,
 * 那么子序列 [nums[l], nums[l + 1], ..., nums[r - 1], nums[r]] 就是连续递增子序列。
 * */
public class LongestContinuousIncreasingSubsequence_674 {
    public static int findLengthOfLCIS(int[] nums) {
        int[] dp = new int[nums.length];
        for (int i = 0; i < dp.length; i++) {
            dp[i] = 1;
        }
        int res = 1;
        for (int i = 0; i < nums.length - 1; i++) {
            if (nums[i + 1] > nums[i]) {
                dp[i + 1] = dp[i] + 1;
            }
            res = res > dp[i + 1] ? res : dp[i + 1];
        }
        return res;
    }
}
package LeetCode.DPpart13;

import java.util.Arrays;

/**
 * 300. 最长递增子序列
 * 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。
 * 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。
 * 例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。
 * */
public class LongestIncreasingSubsequence_300 {
    public int lengthOfLIS(int[] nums) {
        int[] dp = new int[nums.length];
        Arrays.fill(dp, 1);
        for (int i = 0; i < dp.length; i++) {
            for (int j = 0; j < i; j++) {
                if (nums[i] > nums[j]) {
                    dp[i] = Math.max(dp[i], dp[j] + 1);
                }
            }
        }
        int res = 0;
        for (int i = 0; i < dp.length; i++) {
            res = Math.max(res, dp[i]);
        }
        return res;
    }
}
package LeetCode.DPpart13;
/**
 * 718. 最长重复子数组
 * 给两个整数数组 nums1 和 nums2 ,返回 两个数组中 公共的 、长度最长的子数组的长度 。
 * */
public class MaximumLengthRepeatedSubarray_718 {
    public int findLength(int[] nums1, int[] nums2) {
        int result = 0;
        int[][] dp = new int[nums1.length + 1][nums2.length + 1];

        for (int i = 1; i < nums1.length + 1; i++) {
            for (int j = 1; j < nums2.length + 1; j++) {
                if (nums1[i - 1] == nums2[j - 1]) {
                    dp[i][j] = dp[i - 1][j - 1] + 1;
                    result = Math.max(result, dp[i][j]);
                }
            }
        }

        return result;
    }
}

 

标签:718,674,part13,int,length,数组,res,序列,dp
From: https://www.cnblogs.com/lipinbigdata/p/17472819.html

相关文章

  • 718. 最长重复子数组
    给两个整数数组nums1和nums2,返回两个数组中公共的、长度最长的子数组的长度。示例1:输入:nums1=[1,2,3,2,1],nums2=[3,2,1,4,7]输出:3解释:长度最长的公共子数组是[3,2,1]。>动态规划classSolution{public:intfindLength(vector<int>&nums1,ve......
  • 674. 最长连续递增序列
    给定一个未经排序的整数数组,找到最长且连续递增的子序列,并返回该序列的长度。连续递增的子序列可以由两个下标l和r(l<r)确定,如果对于每个l<=i<r,都有nums[i]<nums[i+1],那么子序列[nums[l],nums[l+1],...,nums[r-1],nums[r]]就是连续递增子序列。示例......
  • leetcode 674. Longest Continuous Increasing Subsequence
    Givenanunsortedarrayofintegers,findthelengthoflongestcontinuousincreasingsubsequence(subarray).Example1:Input:[1,3,5,4,7]Output:3Explanation:Thelongestcontinuousincreasingsubsequenceis[1,3,5],itslengthis3.Eventhough[1,3,5......
  • 创龙教仪TL6748-PlusTEB教学实验箱实验操作教程:2-2 LED灯控制实验
    2-2LED灯控制实验(点击查看完整视频)1、实验目的本次视频教程是基于创龙教仪TL6748-PlusTEB教学实验箱完成的。本节视频的目的是学习基于StarterWare开发环境配置GPIO管脚的方法和原理,并实现StarterWare开发环境下的LED灯控制。2、实验原理StarterWareStarterWare是一个免费的软件开......
  • 刷题笔记52 动态规划 part13
    @目录动态规划300.最长递增子序列674.最长连续递增序列718.最长重复子数组动态规划●300.最长递增子序列●674.最长连续递增序列●718.最长重复子数组300.最长递增子序列300.最长递增子序列法1:动态规划intlengthOfLIS(vector<int>&nums){//未考虑......
  • 创龙教仪TL6748-PlusTEB教学实验箱
    目 录1.实验箱简介 2.软硬件参数 3.可选摄像头模块 4.开发资料 5.电气特性 6.实验箱机械尺寸 7.产品认证 8.实验箱套件清单 9.技术支持 10.增值服务 更多帮助 附录A教学实验 1. 实验箱简介Ø 基于TITMS320C6748定点/浮点DSPC674x处理器,主频456MHz,高达3648MIPS和274......
  • 「CF1718E」Impressionism
    题目点这里看题目。Burenka有两张图片$a$和$b$,它们的大小可以表示为$n\timesm$的像素组合。每幅画的每个像素都有一个颜色——表示为一个从$0$到\(2\times10^5\)的数字,并且在两幅画的每一行或每一列中都没有重复的颜色,除了颜色$0$。Burenka想把图片\(......
  • [Leetcode] 0674. 最长连续递增序列
    674.最长连续递增序列题目描述给定一个未经排序的整数数组,找到最长且连续递增的子序列,并返回该序列的长度。连续递增的子序列可以由两个下标l和r(l<r)确定,如果对于每个l<=i<r,都有nums[i]<nums[i+1],那么子序列[nums[l],nums[l+1],...,nums[r-1],nums[......
  • Win10更新KB5007186后共享打印机无法使用
         卸载大概10几分钟,卸载完之后会提示重启电脑,耐心等待重启,重启完成即可正常打印。为防止电脑的继续更新导致又出现这个问题,目前只能通过延迟win10的自动更新   ......
  • 7-014-(LeetCode- 718) 最长重复子数组
    1.题目读题 考查点 2.解法思路 代码逻辑 具体实现113.总结......