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

wordpress db collate南京seo全网营销

wordpress db collate,南京seo全网营销,核桃编程怎么报名网课,wordpress删掉自豪文章目录 一、题目二、C# 题解 一、题目 字符串轮转。给定两个字符串 s1 和 s2,请编写代码检查 s2 是否为 s1 旋转而成(比如,waterbottle 是 erbottlewat 旋转后的字符串)。 点击此处跳转题目。 示例1: 输入:s1 “wa…

文章目录

  • 一、题目
  • 二、C# 题解

一、题目

  字符串轮转。给定两个字符串 s1s2,请编写代码检查 s2 是否为 s1 旋转而成(比如,waterbottleerbottlewat 旋转后的字符串)。

  点击此处跳转题目。

示例1:

输入:s1 = “waterbottle”, s2 = “erbottlewat”
输出:True

示例2:

输入:s1 = “aa”, s2 = “aba”
输出:False

提示:

  • 字符串长度在[0, 100000]范围内。

说明:

  • 你能只调用一次检查子串的方法吗?

二、C# 题解

  可以将题目理解为从字符串内部切一刀换序重组,判断是否能变为原字符串。但按照该思路写复杂度为 O ( n 2 ) O(n^2) O(n2),不是很理想,因此还是从字符入手。

  使用双指针 i,j 从左向右分别指向 s1,s2i 的任务是遍历 s1,查找 s2s1 中的前缀;j 的任务是标识 s2 中前缀的位置,即 s2[0]~s2[j - 1]s2s1 相同的部分。

  以 s1:bunana, s2:nabuna 为例,可以看出,s1:buna | nas2:na | bunas1 的后缀和 s2 的前缀想同,均为 na,算法的具体流程如下:

b u n a n a ( s 1 ) i : ↑ n a b u n a ( s 2 ) j : ↑ ⇓ b u n a n a ( s 1 ) i : ↑ n a b u n a ( s 2 ) j : ↑ ⇓ b u n a n a ( s 1 ) i : ↑ n a b u n a ( s 2 ) j : ↑ ⇓ b u n a n a ( s 1 ) i : ↑ n a b u n a ( s 2 ) j : ↑ ⇓ b u n a n a ( s 1 ) i : ↑ n a b u n a ( s 2 ) j : ↑ ⇓ b u n a n a ( s 1 ) i : ↑ n a b u n a ( s 2 ) j : ↑ ⇓ b u n a n a ( s 1 ) i : ↑ n a b u n a ( s 2 ) j : ↑ \begin{array}{l} & b & u & n & a & n & a & (s1)\\ i:& \uparrow & & & & \\ & n & a & b & u & n & a & (s2)\\ j:& \uparrow & & & & \end{array}\\ ~\\\ \Downarrow\\ ~\\\ \begin{array}{l} & b & u & n & a & n & a & (s1)\\ i:& & \uparrow & & & \\ & n & a & b & u & n & a & (s2)\\ j:& \uparrow & & & & \end{array}\\ ~\\\ \Downarrow\\ ~\\\ \begin{array}{l} & b & u & n & a & n & a & (s1)\\ i:& & & \uparrow & & \\ & n & a & b & u & n & a & (s2)\\ j:& \uparrow & & & & \end{array}\\ ~\\\ \Downarrow\\ ~\\\ \begin{array}{l} & b & u & n & a & n & a & (s1)\\ i:& & & & \uparrow & \\ & n & a & b & u & n & a & (s2)\\ j:& & \uparrow & & & \end{array}\\ ~\\\ \Downarrow\\ ~\\\ \begin{array}{l} & b & u & n & a & n & a & (s1)\\ i:& & & & & \uparrow \\ & n & a & b & u & n & a & (s2)\\ j:& \uparrow & & & & \end{array}\\ ~\\\ \Downarrow\\ ~\\\ \begin{array}{l} & b & u & n & a & n & a & (s1)\\ i:& & & & & & \uparrow \\ & n & a & b & u & n & a & (s2)\\ j:& & \uparrow & & & \end{array}\\ ~\\\ \Downarrow\\ ~\\\ \begin{array}{l} & b & u & n & a & n & a & (s1)\\ i:& & & & & & & \uparrow \\ & n & a & b & u & n & a & (s2)\\ j:& & & \uparrow & & \end{array}\\ i:j:bnuanbaunnaa(s1)(s2)    i:j:bnuanbaunnaa(s1)(s2)    i:j:bnuanbaunnaa(s1)(s2)    i:j:bnuanbaunnaa(s1)(s2)    i:j:bnuanbaunnaa(s1)(s2)    i:j:bnuanbaunnaa(s1)(s2)    i:j:bnuanbaunnaa(s1)(s2)

  最终,i 指向 s1 的末尾,j 指向 s2 前缀的后一字符,即 s2 后缀的起始位置。

public class Solution {public bool IsFlipedString(string s1, string s2) {int l1 = s1.Length, l2 = s2.Length;if (l1 != l2) return false;  // 长度不相等直接否掉int i = 0, j = 0;            // 双指针,i 指 s1,j 指 s2while (i < l1) {             // 遍历 s1,寻找 s2 的前缀if (s1[i] == s2[j]) j++; // 如果字符相同,则 j 后移else {                   // 字符不同,则 i、j 回退i -= j;j = 0;}i++;                     // i 始终前进}i = 0;while (j < l2) {             // 检查 s2 后缀是否为 s1 前缀if (s1[i++] != s2[j++]) return false;}return true;}
}
  • 时间复杂度:一般情况下为 O ( n ) O(n) O(n),但波动较大。最坏情况为 O ( n 2 ) O(n^2) O(n2),即字符串包含大部分重复字符。可以使用 KMP 算法优化,懒了没必要。
  • 空间复杂度: O ( 1 ) O(1) O(1)
http://www.hkea.cn/news/941267/

相关文章:

  • 成都网站建设代理加盟网络运营培训班多少钱
  • 太原开发网站公司站长工具端口扫描
  • 域控制网站访问自媒体视频发布平台
  • 广西住房和城乡建设委员会网站湖南网站营销seo多少费用
  • 关键词推广名词解释百度竞价关键词怎么优化
  • 群辉服务器做网站网络优化的内容包括哪些
  • 做淘客的网站岳阳seo
  • 网吧设计方案seox
  • 谁做网站市场营销专业
  • 慈溪外贸公司网站网络营销就业前景和薪水
  • 电商网站建设实训报告长沙网站seo推广公司
  • 阿里云ecs怎么建网站吉林网站seo
  • 企业营销型网站建设的可行性西安竞价托管
  • 做网站如何适应分辨率网站分析培训班
  • 现在币圈有那些私募网站做的好百度推广账号登陆入口
  • 旅游网站图片营销公司排名
  • 做服务器的网站都有哪些搜狗关键词排名此会zjkwlgs
  • php动态网站开发 唐四薪 答案b站引流推广网站
  • 长沙3天2晚自由行攻略论述搜索引擎优化的具体措施
  • 外汇局网站做结汇申报被逆冬seo课程欺骗了
  • 网站运营配置免费网站在线观看人数在哪直播
  • 什么网站做一手房好系统优化的例子
  • wordpress 插入wordseo排名点击工具
  • 网站推广易网宣seo的主要分析工具
  • 安徽网站定制最大免费广告发布平台
  • 怎么查网站有没有做404公司宣传网页怎么做
  • 靠谱营销网站开发选哪家seo的优点和缺点
  • 企业网站建设论文文献综述百度推广的广告真实可信吗
  • 企业网站优化方式广州最新消息今天
  • 旅游网站开发的意义seo优化方案案例