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

优秀网站设计有哪些网站推广的方法有哪几种

优秀网站设计有哪些,网站推广的方法有哪几种,专做恐怖片的网站,做网站赚钱还是企业宣传片题目 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列&a…

题目

给定字符串 s 和 t ,判断 s 是否为 t 的子序列。
字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。
进阶:
如果有大量输入的 S,称作 S1, S2, … , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?

一、代码实现

基础解法(双指针法)
func isSubsequence(s string, t string) bool {i, j := 0, 0for i < len(s) && j < len(t) {if s[i] == t[j] {i++}j++}return i == len(s)
}
进阶解法(预处理+二分搜索)
func isSubsequenceAdvanced(s string, t string) bool {// 预处理:记录每个字符在t中的位置index := make(map[byte][]int)for i := 0; i < len(t); i++ {c := t[i]index[c] = append(index[c], i)}// 匹配s的每个字符currentPos := 0for i := 0; i < len(s); i++ {c := s[i]positions, exists := index[c]if !exists {return false}// 二分查找第一个>=currentPos的位置pos := sort.SearchInts(positions, currentPos)if pos == len(positions) {return false}currentPos = positions[pos] + 1}return true
}

二、算法分析

1. 核心思路
  • 双指针法:通过两个指针同步遍历 st,匹配字符后移动 s 指针,最终判断 s 是否遍历完成。
  • 预处理优化:针对大量 s 输入的情况,预处理 t 的结构(记录每个字符的索引位置),使用二分查找快速定位匹配位置,减少重复遍历 t 的时间。
2. 关键步骤
  1. 双指针法

    • 初始化 i(指向 s)和 j(指向 t)为0。
    • 每次匹配成功时 ij 同时右移,否则仅 j 右移。
    • i 遍历完 s 时返回 true
  2. 预处理优化

    • 构建哈希表,记录 t 中每个字符的所有出现位置。
    • 对每个 s 的字符,在其对应的位置列表中二分查找第一个不小于当前匹配位置的值。
3. 复杂度
方法时间复杂度空间复杂度适用场景
双指针法O(n)(n为t长度)O(1)单次查询
预处理+二分查找O(mlogk)O(n)大量查询(k≥10亿次)

三、图解

在这里插入图片描述

四、边界条件与扩展

1. 边界条件
  • s为空:空字符串是任何字符串的子序列。
  • t为空:若s非空则返回false
  • s比t长:直接返回false
2. 扩展验证
  • 大规模数据:预处理方法可在O(1)时间内完成单次查询(预处理时间O(n))。
  • 特殊字符:算法天然支持所有ASCII字符(需扩展哈希表范围)。
3. 算法对比
方法优势劣势
双指针法代码简单,空间O(1)无法应对大量查询
动态规划可复用LCS逻辑时间O(mn),空间O(mn)
预处理+二分查找处理10亿级查询时效率高预处理时间O(n)

五、总结

  • 核心逻辑:双指针法通过同步遍历快速判断子序列关系,时间复杂度为O(n);预处理方法通过空间换时间优化高频查询场景。
  • 优化点
    1. 双指针法的贪心策略确保匹配位置的最左对齐,避免回溯。
    2. 预处理方法利用哈希表+二分查找将单次查询复杂度降为O(mlogk)。
  • 应用场景:实时数据流中的子序列匹配(如日志分析)、高频查询系统设计(如API服务)。
http://www.dtcms.com/wzjs/85760.html

相关文章:

  • 专业网站建设电百度竞价推广登录
  • 一键建站系统有哪些怎么推广销售
  • 无代码网站开发平台有哪些关键词查询神器
  • 网站开发服务 退款今日nba数据帝
  • 注册个人网站要多少钱小广告
  • 网站响应时间长网站申请流程
  • 电子商务网站设计分析怎么做网络营销过程步骤
  • 楼盘网站建设方案ppt海口做网站的公司
  • 北京网站建设明细百度一下官网首页网址
  • 河北沧州网络运营中心网站外链的优化方法
  • 宝鸡做网站培训教育机构
  • 如何制作网页网站广告资源网
  • 陕西有没有做网站普查公司百度指数的网址是什么
  • 张雪峰谈网络工程站优云seo优化
  • 宜丰做网站的3d建模培训学校哪家好
  • 网站后面的官网是如何做的seo服务 文库
  • 钓鱼网站怎么做游戏代理平台
  • 怎样做自己的 优惠卷网站企业关键词排名优化网址
  • 有了域名 网站建设如何添加百度指数
  • 国内十大网站建设品牌我想注册一个网站怎么注册
  • 17种新型商业模式跨境电商seo什么意思
  • 网站备案去哪找接入商北京网络seo推广公司
  • seo网站分析案例新东方留学机构官网
  • 便宜购物网站大全找客源免费用哪个软件好
  • 网站建设合同书样本东莞疫情最新消息今天新增病例
  • 旅行社手机网站建设个人网站seo
  • 建设一个网站需要哪些功能seo网站推广的主要目的不包括
  • 购买域名网站百度一下知道官网
  • 初中做语文综合题的网站怎样做百度推广
  • 网络舆情管控措施网站seo需要用到哪些工具