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

做网站是不是还要进行公安备案最热门的短期培训课程

做网站是不是还要进行公安备案,最热门的短期培训课程,怎么利用国外网站做互联网挣钱,有没有做网站的公司力扣115.不同的子序列【hard】 力扣583.两个字符串的删除操作【medium】 力扣72.编辑距离【medium】 一、力扣115.不同的子序列【hard】 题目链接:力扣115.不同的子序列 视频链接:代码随想录 题解链接:灵茶山艾府 1、思路 时间复杂度&#…

力扣115.不同的子序列【hard】
力扣583.两个字符串的删除操作【medium】
力扣72.编辑距离【medium】

一、力扣115.不同的子序列【hard】

题目链接:力扣115.不同的子序列
在这里插入图片描述
视频链接:代码随想录
题解链接:灵茶山艾府

1、思路

  • 在这里插入图片描述
  • 在这里插入图片描述
  • 时间复杂度: O ( n ∗ m ) O(n * m) O(nm)

2、代码

class Solution:def numDistinct(self, s: str, t: str) -> int:m, n = len(s), len(t)@cachedef dfs(i:int, j:int) -> int:if j < 0:return 1if i < j :return 0res = dfs(i - 1, j)if s[i]  == t[j]:res += dfs(i - 1, j - 1)return resreturn dfs(m - 1, n - 1)
class Solution:def numDistinct(self, s: str, t: str) -> int:m, n = len(s), len(t)if m < n:return 0f = [[1] + [0] * n for _ in range(m + 1)]for i, x in enumerate(s):for j, y in enumerate(t):f[i + 1][j + 1] = f[i][j + 1]if s[i] == t[j]:f[i + 1][j + 1] += f[i][j]return f[m][n]

在这里插入图片描述

class Solution:def numDistinct(self, s: str, t: str) -> int:m, n = len(s), len(t)if m < n:return 0f = [1] + [0] * nfor i, x in enumerate(s):for j in range(min(n - 1, i), max(0,n - m + i) - 1, -1):if x == t[j]:f[j + 1] += f[j]return f[n]

二、力扣583.两个字符串的删除操作【medium】

题目链接:力扣583.两个字符串的删除操作
在这里插入图片描述
视频链接:代码随想录

1、思路

  • 和1143一致
  • 时间复杂度: O ( m ∗ n ) O(m * n) O(mn)

2、代码

class Solution:def minDistance(self, word1: str, word2: str) -> int:m, n = len(word1), len(word2)@cachedef dfs(i:int, j:int) -> int:if i < 0 or j < 0:return 0if word1[i] == word2[j]:return dfs(i - 1, j - 1) + 1else:return max(dfs(i - 1, j), dfs(i, j - 1))return m + n - 2 * dfs(m - 1, n - 1) 
class Solution:def minDistance(self, word1: str, word2: str) -> int:m, n = len(word1), len(word2)f = [[0] * (n + 1) for _ in range(m + 1)]for i, x in enumerate(word1):for j, y in enumerate(word2):if x == y:f[i + 1][j + 1] = f[i][j] + 1else:f[i + 1][j + 1] = max(f[i][j + 1], f[i + 1][j])return m + n - 2 * f[m][n]
class Solution:def minDistance(self, word1: str, word2: str) -> int:m, n = len(word1), len(word2)f = [0] * (n + 1) for x in word1:pre = 0for j, y in enumerate(word2):tmp = f[j + 1]if x == y:f[j + 1] = pre + 1else:f[j + 1] = max(f[j + 1], f[j])pre = tmpreturn m + n - 2 * f[n]

三、力扣72.编辑距离【medium】

题目链接:力扣72.编辑距离
在这里插入图片描述
视频链接:代码随想录
题解链接:灵茶山艾府

1、思路

  • 三个操作对应的状态要想明白
  • 还有初值条件的转换
  • 时间复杂度: O ( n ) O(n) O(n)

2、代码

class Solution:def minDistance(self, word1: str, word2: str) -> int:n,m = len(word1), len(word2)   @cachedef dfs(i:int, j:int) -> int:if i < 0:return j + 1if j < 0 :return i + 1if word1[i] == word2[j]:return dfs(i - 1, j - 1)return min(dfs(i - 1, j), dfs(i, j -1), dfs(i - 1, j - 1)) + 1return dfs(n - 1, m - 1)
class Solution:def minDistance(self, word1: str, word2: str) -> int:n,m = len(word1), len(word2)f = [[0] * (m + 1) for _ in range(n + 1)]f[0] = list(range(m + 1))for i, x in enumerate(word1):f[i + 1][0] = i + 1for j, y in enumerate(word2):if x == y:f[i + 1][j + 1] = f[i][j]else:f[i + 1][j + 1] = min(f[i][j], f[i + 1][j], f[i][j +1]) + 1return f[n][m]
class Solution:def minDistance(self, word1: str, word2: str) -> int:n,m = len(word1), len(word2)f = list(range(m + 1))for  x in word1:pre = f[0]f[0] += 1for j, y in enumerate(word2):tmp = f[j + 1]if x == y:f[j + 1] = preelse:f[j + 1] = min(pre, f[j], f[j +1]) + 1pre = tmpreturn f[m]

http://www.dtcms.com/wzjs/27718.html

相关文章:

  • 公司网站百度小程序开发深圳网站建设的公司
  • 网站建设pdf微盘关键字挖掘爱站网
  • 网站程序流程图百度旗下推广平台有哪些
  • 做网站销售的网页设计html代码大全
  • php动态网站开发案例教程pdf百度今日小说搜索风云榜
  • 营销型网站建设沈阳建网站的详细步骤
  • 电子商务网站建设汉狮白酒营销策划方案
  • 个人备案网站可以做电影站吗网络优化报告
  • 用本地机器做网站服务器杭州网站优化
  • 客户型网站网络营销模式
  • 福州仓山区天津seo网站排名优化公司
  • 做网站 用 显示器厦门seo大佬
  • 找个做网站的人网络营销网站建设案例
  • 致和网站建设知乎软文推广
  • 江门站排名优化厦门网站推广费用
  • 一流的龙岗网站制作搜外网 seo教程
  • 网上接手袋做是哪一个网站关键词有哪些关联词
  • 将网站的主机放在美国学技术包分配的培训机构
  • 制作网站需要用什么软件360优化大师官方下载手机
  • 深圳市官方网站开发公司百度推广电话
  • 建设一个怎样的自己的网站东莞网站推广哪里找
  • 云南营销网站建设抚顺网站建设
  • 做搬运的话哪个网站好在线查询网站收录
  • 惠州做公司网站刚刚发生 北京严重发生
  • 商城网站建设方案书百度建站
  • 建设项目环境影响登记网站湖北电脑上突然出现windows优化大师
  • 武汉网站建设推广东莞seo建站如何推广
  • 温州专业微网站制作报价免费下载优化大师
  • 网站开发html文件规范网络营销就业方向和前景
  • 建设网站 (公司)西安网站制作价格