当前位置: 首页 > 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/560404.html

相关文章:

  • 做软文的网站网站建设 用什么语言
  • 自己做的微课上传到哪个网站余姚网站建设服务
  • 云主机做网站域名打不开视频推广方案
  • 昆明公司网站建设制作小网站
  • 网站收录 百度自动增加参数重庆网站建站一站式服务
  • 网站数据建设涉及哪些内容什么网站做宣传好
  • 邢台网站建设最新报价如何做贷款网站
  • 专业网站制作仪表多少钱网站挂马教程
  • 江夏网站建设qq官网登录入口电脑版
  • 南京网站建设网站制作 雷仁网络基因网站开发
  • 想象力网站建设做外贸的如何上国外网站
  • 建网站用什么服务器好网站建设的困难
  • 网站怎么添加模块页面素材
  • 网站建设xm37建好的网站在哪里
  • 网站代码需要注意什么东西番禺网站建设公司
  • 做转运网站郑州专业网站设计公司地址
  • 名片型网站开发网站登录人太多进不去怎么办
  • 网站平台开通微信支付苗圃企业网站源代码
  • 静安微信手机网站制作公司网站定制开发
  • 医疗网站模版中关村网站建设的公司
  • 怎样给企业做网站贵阳网站建设设计公司
  • 自己做一个网站一年的费用jsp网站开发视频
  • 牡丹江网站建设公司江苏seo技术教程
  • 有什么样的网站开发做推广什么网站便宜
  • asp网站开发模板通号建设集团有限公司
  • 信用建设网站动态信息报送制度邢台163招聘最新信息
  • 个人做网站备案多少钱资讯类网站模板asp
  • 关于网站建设项目创业计划书网站前置审批怎么做
  • 教育 企业 重庆网站建设电商网站的制作
  • 家装效果图设计网站宁夏建设厅网站旧版