Leetcode算法题
文章平均质量分 88
永不言弃的小颖子
这个作者很懒,什么都没留下…
展开
-
Leetcode 42 连续子数组的最大和——动态规划
题目 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 动态规划是本题的最优解法:时间复杂度O(N)O(N)O(N),空间复杂度O(1)O(1)O(1). 解析: 状态定义:设动态规划列表dpdpdp,dp[i]dp[i]dp[i]代表以元素nums[i]nums[i]nums[i]为结尾原创 2021-04-15 16:15:38 · 204 阅读 · 0 评论 -
Leetcode 300 题 最长递增子序列——动态规划
题目 给定一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例: 输入:nums = [10,9,2,5,3,7,101,18] 输出:4 解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。 思路分析 这道题求最长上升子序列,我们可以定义一个 dp 数组,dp[i] 表示以 nums[i] 为最后一个元素时,最长上升子序原创 2021-04-15 14:19:35 · 270 阅读 · 0 评论