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

网站运维托管网络优化是干什么的

网站运维托管,网络优化是干什么的,网站查询域名解析ip,网站维护费怎么做会计分录一、判断子序列 1.1 题目 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde&…

一、判断子序列

        1.1 题目

        给定字符串 s 和 t ,判断 s 是否为 t 的子序列。

        字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace""abcde"的一个子序列,而"aec"不是)。

进阶:

如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?

示例 1:

输入:s = "abc", t = "ahbgdc"
输出:true

示例 2:

输入:s = "axc", t = "ahbgdc"
输出:false

提示:

  • 0 <= s.length <= 100
  • 0 <= t.length <= 10^4
  • 两个字符串都只由小写字符组成。

        1.2 题目链接

        392.判断子序列

        1.3 解题思路和过程想法

        (1)解题思路

        双指针遍历:用两个指针分别遍历两个字符串,若是两指针所指相同,则两指针同时往后;否则,将指向“母字符串”的指针向后移动;最后判断指向“子字符串”的指针是否到达其串后侧位置

        动态规划:用两层循环结构对比两字符串的元素,外层遍历“子串”,内层遍历“母串”。若是两指针所指的前一元素相同——s[i-1] == t[j-1],则更新“以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子序列的长度dp[i][j] ——dp[i][j] = dp[i-1][j-1]+1;若是二者不相等,则dp[i][j]等于前值,不做更新——dp[i][j] = dp[i][j-1];最后判断dp[len(s)][len(t)]==lens(s)即可。

        (2)过程想法

        一题多解才能融会贯通所学的知识

        1.4 代码

        1.4.1 双指针遍历
class Solution:def isSubsequence(self, s: str, t: str) -> bool:# 利用双指针分别指向两个字符串point_s , point_t = 0, 0# 遍历字符串 t while point_s < len(s) and point_t < len(t):# 若匹配,则两指针都向后移一位if  s[point_s] == t[point_t]:point_s += 1# 否则,只有指针 t 向后移point_t += 1# 若指针 s  到达最后,则表明匹配成功return point_s == len(s)
        1.4.2 动态规划
class Solution:def isSubsequence(self, s: str, t: str) -> bool:m,n = len(s),len(t)dp = [[0] * (n+1) for _ in range(m+1)]for i in range(1, m+1):for j in range(1, n+1):if s[i-1] == t[j-1]:dp[i][j] = dp[i-1][j-1] + 1else:dp[i][j] = dp[i][j-1]if dp[m][n] == m:return Trueelse:return False

二、不同的子序列

        1.1 题目

        给你两个字符串 s 和 t ,统计并返回在 s 的 子序列 中 t 出现的个数,结果需要对 109 + 7 取模。

示例 1:

输入:s = "rabbbit", t = "rabbit"
输出3
解释:
如下所示, 有 3 种可以从 s 中得到 "rabbit" 的方案。rabbbitrabbbitrabbbit

示例 2:

输入:s = "babgbag", t = "bag"
输出5
解释:
如下所示, 有 5 种可以从 s 中得到 "bag" 的方案。 
babgbagbabgbagbabgbagbabgbagbabgbag

提示:

  • 1 <= s.length, t.length <= 1000
  • s 和 t 由英文字母组成

        1.2 题目链接

        115.不同的子序列

        1.3 解题思路和过程想法

        (1)解题思路

        当前的匹配情况会受到之前元素的情况所影响,且影响的方式是类似的,考虑采用动态规划的策略。数组:以i-1为结尾的s子序列中出现以j-1为结尾的t的个数为dp[i][j]

        递推关系:若二者元素相匹配,当前情况取决于 用或不用 当前的元素,
                                  dp[i][j] = dp[i-1][j-1] + dp[i-1][j]
                         若二者元素不匹配,当前情况的结果与不用当前元素的情况相同
                                 dp[i][j] = dp[i-1][j]

图片来源:代码随想录,红色文字是自己加的


        初始化:由上述递推关系可知当前位置的填写是基于左上方和正上方的元素,所以需要提前对首行首列进行初始赋值
                        # 首行:没有母串,直接赋值 0
                                dp[0][j] = 0
                        # 首列:没有子串,即空子串,赋值1
                                dp[i][0] = 1

        (2)过程想法

        递推关系的式子着实是没想到,,,

        1.4 代码

class Solution:def numDistinct(self, s: str, t: str) -> int:long,short = len(s),len(t)# 以i-1为结尾的s子序列中出现以j-1为结尾的t的个数为dp[i][j]# 以母串位置为行坐标,以子串位置为列坐标dp = [[0]*(short+1) for _ in range(long+1)]# 递推关系:若二者元素相匹配,当前情况取决于 用或不用 当前的元素# 若匹配,则dp[i][j] = dp[i-1][j-1] + dp[i-1][j]# 初始化:由上述递推关系可知当前位置的填写是基于左上方和正上方的元素,所以需要提前对首行首列进行初始赋值for j in range(short+1):    # 首行:没有母串,直接赋值 0dp[0][j] = 0for i in range(long+1):     # 首列:没有子串,即空子串,赋值1dp[i][0] = 1for i in range(1,long+1):for j in range(1,short+1):if s[i-1] == t[j-1]:dp[i][j] = dp[i-1][j-1] + dp[i-1][j]else:dp[i][j] = dp[i-1][j]return dp[long][short]
http://www.yidumall.com/news/93936.html

相关文章:

  • 手机哪里可以做视频网站网推项目
  • 免费推广策略廊坊seo
  • 搭建什么网站最赚钱微信朋友圈广告30元 1000次
  • 做注册会员和购物的网站需要什么百度快照投诉中心
  • 国外网站视觉设计趋势短视频剪辑培训班多少钱
  • 中小企业建设网站应注意热搜榜上2023年热搜
  • 阿里巴巴免费做国际网站沈阳网站推广优化
  • 南京哪家公司做企业网站 做得比较好培训学校招生方案
  • 龙华网站建设首页地址最新seo教程
  • 宁波企业官网建设通州优化公司
  • b2c网站主营商品有哪些创新驱动发展战略
  • 西亚网站建设科技外包网站有哪些
  • 石家庄做网站百度推广百度竞价推广怎么收费
  • 肇庆市住房和城乡建设局网站今天发生的重大新闻5条
  • 哪个网站可以学做衣服免费外链工具
  • 购物平台推荐安卓优化大师下载
  • 网站怎么发布信息个人网页制作成品
  • 北京工程建设公共资源交易平台武汉网站seo推广公司
  • 宁波网站优化方法竞价托管推广公司
  • dreamweaver做动态网站推广seo优化公司
  • 郑州建网站价格搜索引擎seo优化怎么做
  • 昆山建设银行网站首页快速排名优化系统
  • wordpress 网站静态页面福州seo网址优化公司
  • 免费可商用的cmsseo关键词排名优化案例
  • 郑州专业做网站的公司谷歌优化seo
  • 招远 两学一做 网站怎样推广公司的网站
  • 汽车租赁网站开发优化网络搜索引擎
  • 网站排名对比老客外链
  • 盘古网络建站市场营销是做什么的
  • 公司怎么做网页网站论坛企业推广