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

莱芜哪里做网站钓鱼网站制作教程

莱芜哪里做网站,钓鱼网站制作教程,114百事通做网站是不是诈骗,石首网站建设注:Day51休息。 本文目录 300.最长递增子序列做题看文章 674. 最长连续递增序列做题看文章 718. 最长重复子数组做题看文章 以往忽略的知识点小结个人体会 300.最长递增子序列 代码随想录:300.最长递增子序列 Leetcode:300.最长递增子序列 …

注:Day51休息。

本文目录

  • 300.最长递增子序列
    • 做题
    • 看文章
  • 674. 最长连续递增序列
    • 做题
    • 看文章
  • 718. 最长重复子数组
    • 做题
    • 看文章
  • 以往忽略的知识点小结
  • 个人体会

300.最长递增子序列

代码随想录:300.最长递增子序列
Leetcode:300.最长递增子序列

做题

无思路。

看文章

动规五部曲:

  1. dp[i]的定义。dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度。
  2. 状态转移方程。if (nums[i] > nums[j]) dp[i] = max(dp[i], dp[j] + 1)。
  3. dp[i]的初始化。至少为1。
  4. 确定遍历顺序。遍历i的循环在外层,遍历j则在内层。
  5. 举例推导dp数组。

看完思路后自己实现。这里有个特殊点,最后要return max(dp),因为dp数组代表的是以 nums[i] 为结尾的最长递增子序列的长度,故需要返回最大值。

class Solution:def lengthOfLIS(self, nums: List[int]) -> int:size = len(nums)dp = [1] * sizefor i in range(size):for j in range(i):if nums[i] > nums[j]:dp[i] = max(dp[i], dp[j] + 1)return max(dp)

时间复杂度: O(n^2)
空间复杂度: O(n)

674. 最长连续递增序列

代码随想录:674. 最长连续递增序列
Leetcode:674. 最长连续递增序列

做题

无思路。

看文章

动规五部曲:

  1. dp[i]的定义。dp[i]:以下标i为结尾的连续递增的子序列长度为dp[i]。
  2. 状态转移方程。如果 nums[i] > nums[i - 1],那么以 i 为结尾的连续递增的子序列长度 一定等于 以i - 1为结尾的连续递增的子序列长度 + 1 。即:dp[i] = dp[i - 1] + 1。
  3. dp[i]的初始化。至少为1。
  4. 确定遍历顺序。从前往后,单层遍历
  5. 举例推导dp数组。
class Solution:def findLengthOfLCIS(self, nums: List[int]) -> int:size = len(nums)if size == 1:return 1dp = [1] * sizefor i in range(1, size):if nums[i] > nums[i-1]:dp[i] = dp[i-1] + 1return max(dp)

时间复杂度:O(n)
空间复杂度:O(n)

718. 最长重复子数组

代码随想录:718. 最长重复子数组
Leetcode:718. 最长重复子数组

做题

无思路。

看文章

动规五部曲:

  1. dp数组的定义。dp[i][j] :以下标i - 1为结尾的A,和以下标j - 1为结尾的B,最长重复子数组长度为dp[i][j]。(i-1是为了方便初始化)
  2. 状态转移方程。根据dp[i][j]的定义,dp[i][j]的状态只能由dp[i - 1][j - 1]推导出来,即当A[i - 1] 和B[j - 1]相等的时候,dp[i][j] = dp[i - 1][j - 1] + 1。根据递推公式可以看出,遍历 i 和 j 要从1开始!
  3. dp[i]的初始化。dp[i][0] 和dp[0][j]初始化为0。
  4. 确定遍历顺序。
  5. 举例推导dp数组。
class Solution:def findLength(self, nums1: List[int], nums2: List[int]) -> int:dp = [[0] * (len(nums2)+1) for _ in range(len(nums1)+1)]res = 0for i in range(1, len(nums1)+1):for j in range(1, len(nums2)+1):if nums1[i-1] == nums2[j-1]:dp[i][j] = dp[i-1][j-1] + 1res = max(res, dp[i][j])return res

时间复杂度:O(n × m),n 为A长度,m为B长度
空间复杂度:O(n × m)

以往忽略的知识点小结

  • 子序列的dp数组定义:以 i 结尾的最长xxx子序列

个人体会

完成时间:1h50min。
心得:新题型,用动态规划处理子序列问题。

http://www.tj-hxxt.cn/news/34496.html

相关文章:

  • 淘客导航网站开发百度推广app下载
  • 石家庄常规网站建设私人定做百度站长平台如何添加网站
  • 南京驰铭做网站公司2023b站免费推广入口游戏
  • 北京企业网站东莞做网站的公司有哪些
  • 深圳电商网站建设seo服务指什么意思
  • 咖啡店网站模板磁力搜索器
  • wordpress网站都有哪些seo自动优化软件
  • jsp新闻网站建设sem专员
  • 遵义建设厅官方网站佛山本地网站建设
  • wordpress漏洞上传php文件seo顾问服务公司
  • 如何做好一个网站的推广汕头网站设计公司
  • 专业网站的公司八种营销模式
  • 网站定位授权开启权限怎么做百度指数查询手机版
  • 一个公司只能备案一个网站吗种子搜索神器下载
  • 门户网站开发注意事项如何开发网站平台
  • 南昌网站建设如何注册网站
  • 济南网站推广¥做下拉去118cr营销推广投放平台
  • 做网站还能挣钱南京百度seo代理
  • 深圳微商城网站设计制作seo门户 site
  • wordpress4.8移动星沙网站优化seo
  • 如果做网站赚钱站长之家收录查询
  • 网站页面设计图是用什么软件画的教育培训机构报名
  • 网页设计与网站建设的理解市场推广方案怎么写
  • 新西兰政府网站建设评价深圳网站优化推广
  • 临朐网站建设建站首选哪家公司新东方雅思培训机构官网
  • 做爰的网站优化网站怎么做
  • 做lt行业的人让我登网站软文广告经典案例短的
  • 商场网站方案seo优化平台
  • wordpress 英文站宣传推广方式有哪些
  • 常德市做公司网站的公司厦门人才网招聘官网