首页 > 编程语言 >代码随想训练营第五十二天(Python)| 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

代码随想训练营第五十二天(Python)| 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

时间:2023-12-01 16:59:02浏览次数:42  
标签:nums int res 递增 max 序列 最长 dp

300.最长递增子序列

class Solution:
    def lengthOfLIS(self, nums: List[int]) -> int:
        if len(nums) <= 1:
            return len(nums)
        # dp 数组代表以 nums[i] 结尾的最长递增子序列长度为 dp[i]
        dp = [1] * len(nums)
        res = 1
        for i in range(1, len(nums)):
            for j in range(i):
                if nums[i] > nums[j]:
                    dp[i] = max(dp[i], dp[j] + 1)
            res = max(dp[i], res)
        return res

674. 最长连续递增序列
1、贪心法

class Solution:
    def findLengthOfLCIS(self, nums: List[int]) -> int:
        if len(nums) <= 1:
            return len(nums)
        max_res = 1
        cur = 1
        for i in range(1, len(nums)):
            if nums[i] > nums[i-1]:
                cur += 1
            else:
                cur = 1
            max_res = max(max_res, cur)
        return max_res

2、动态规划法

class Solution:
    def findLengthOfLCIS(self, nums: List[int]) -> int:
        if len(nums) <= 1:
            return len(nums)
        # dp 数组代表 nums[i] 结尾的最长连续递增子序列为 dp[i]
        dp = [1] * len(nums)
        res = 1
        for i in range(1, len(nums)):
            if nums[i] > nums[i-1]:
                dp[i] = dp[i-1] + 1
            res = max(dp[i], res)
        return res

718. 最长重复子数组

class Solution:
    def findLength(self, nums1: List[int], nums2: List[int]) -> int:
        # dp 数组代表以 i-1 结尾的 nums1 数组和 j-1 结尾的 nums2 数组的最长公共子数组长度为 dp[i][j]
        n = len(nums1)
        m = len(nums2)
        dp = [[0] * (m+1) for _ in range(n+1)]

        res = 0
        for i in range(1, n+1):
            for j in range(1, m+1):
                if nums1[i-1] == nums2[j-1]:
                    dp[i][j] = dp[i-1][j-1] + 1
                res = max(res, dp[i][j])
        return res

标签:nums,int,res,递增,max,序列,最长,dp
From: https://www.cnblogs.com/yixff/p/17868640.html

相关文章

  • Golang中如何自定义时间类型进行xml、json的序列化/反序列化
    在日常开发工作中,我们进行会遇到将struct序列化json字符串以及将json字符串反序列化为struct的场景,大家也对此十分熟悉。最近工作中,遇到了需要将struct序列化xml字符串以及将xml字符串反序列化为struct的场景,对于普通类型的字段,比如int、string等类型,直接......
  • 【滑动窗口】无重复字符的最长字串、找到字符串中所有字母异位词、串联所有单词的子串
    一、无重复字符的最长子串题目描述定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。题目链接:无重复字符的最长子串示例1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:s="bbbbb"输出:1解释:因......
  • 使用RabbitMQ时使用MemoryPack序列化和反序列化对象
    [MemoryPackable]publicpartialclassUserEto{publicStringName{get;set;}} 发送端publicclassEventBus:IEventBus{publicvoidPublish(stringexchangeName,objecteventData){usingvarconnection=RabbitMQ......
  • [LeetCode-中等] 最长连续序列
    这道题是这样的,给你一个没有排序的整形数组intArr,要求找出这个数组中数字连续的最长序列(不要求序列元素在原数组中连续)的长度需要写出一个时间复杂度为O(n)的算法比如intArr=[70,8,100,6,7,5] 应该返回4,因为最长的数字连续序列是[5,6,7,8] 它的长度为4intArr=......
  • windows 获取 序列号 wwid方法
     以下任意一条命令都可以:wmicdiskdrivegetserialnumberwmicpathwin32_physicalmediagetSerialNumberwmicpathWin32_DiskDrivegetSerialNumber运行结果: **注意**:windows7下获取的序列号格式可能和Windows10下的不一样获取硬盘的更多信息wmicdis......
  • 和为k的连续子序列 存在吗
    题意是这样的,给你一个串,只有T和W。令T=2,W=1,将其变成数字串。然后每次给一个k,问是否存在一个子段和为k一筐题目:https://www.acwing.com/problem/content/description/4040/基础版本,只需要存在性并输出任意一组合法解https://www.luogu.com.cn/problem/P3514英文版基础版......
  • php反序列化
    前置知识各种魔术方法的触发条件:__construct当一个对象创建时被调用,__destruct当一个对象销毁时被调用,当对象创建完成结束后会调用__toString当一个对象被当作一个字符串被调用。__wakeup()使用unserialize时触发__sleep()使用serialize时触发__destruct()对象被销......
  • NOIP2023 双序列拓展
    洛谷传送门首先\(x_1=y_1\)显然不合法。若\(x_1>y_1\)就把\(x,y\)全部取相反数,这样就只用考虑\(x_1<y_1\)的情况了。然后考虑一个\(O(nmq)\)的dp,设\(f_{i,j}\)为拓展\(X\)的前\(i\)个元素和\(Y\)的前\(j\)个元素是否可行。那么若\(x_i<y_j\)则......
  • Weblogic < 10.3.6 'wls-wsat' XMLDecoder 反序列化漏洞(CVE-2017-10271)
    Weblogic<10.3.6'wls-wsat'XMLDecoder反序列化漏洞(CVE-2017-10271)Weblogic的WLSSecurity组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。环境搭建cdweblogic/CVE-2017-10271docker-compose......
  • C# Json序列化的格式化问题
    问题来源: 客户要求传送给他的JSON文件的float型格式化为2位小数,数值型有30-40个栏位,一个一个修改也不是很好.bing和百度找到的方式都是自己定义一个JsonConverter,进行格式化.找到的都是在字符串两边加++的例子,核心转化的代码如下:classStringFormatConverter:JsonCo......