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

网站顶部地图代码怎么做的学习做网站的网站

网站顶部地图代码怎么做的,学习做网站的网站,山东大学经济研究院,西安网页制作培训机构一、回文字符串#xff08;Palindromic String#xff09; 回文字符串#xff08;Palindromic String#xff09;是指前、后向读起来完全相同的字符串。 回文字符串除了答题似乎没有什么用处 :P 二、求解思路 求解字符串的回文子串的基本思路#xff1a; 1、遍历每个位…一、回文字符串Palindromic String 回文字符串Palindromic String是指前、后向读起来完全相同的字符串。 回文字符串除了答题似乎没有什么用处 :P 二、求解思路 求解字符串的回文子串的基本思路 1、遍历每个位置 2、先看有没有以位置i为中心的回文串举例ABCBA。所以我们要比较i1和i-1是否相等i2和i-2是否相等一直比较到字符串某一端点结束或者中途发现不等的字符 3、再看有没有以位置i为对称中心的回文串举例ABBA。所以我们要先看i和i1等不等如果等那再看i-1和i2是否相等i-2和i3是否相等一直比较到字符串某一端点结束或者中途发现不等的字符。 Manacher算法是一位名叫Manacher的人在1975年提出的一种算法解决的问题是求最长回文子串。Manacher算法的核心思路就是利用之前求得的臂长( 即之前求出的Len值) 来减少时间复杂度也就是说通过前面求出的Len值来加速求出当前下标i的 Len[i]快速求出所有的Len 值就是该算法的目的。 速度 三、源代码 3.1 文本格式 using System; using System.Text; using System.Collections; using System.Collections.Generic; namespace Legalsoft.Truffer.Algorithm {     // C# program to implement Manachers Algorithm     // This code is contributed by PrinciRaj1992     public static class Palindromic_String     {         public static string Manacher(string text)         {             int N text.Length;             if (N 0)             {                 return ;             }             N 2 * N 1; int[] lengthArray new int[N 1];             lengthArray[0] 0;             lengthArray[1] 1; int centerPosition 1;             int centerRightPosition 2;             int currentRightPosition 0;             int currentLeftPosition;             int maxLPSLength 0;             int maxLPSCenterPosition 0;             int start -1;             int end -1;             int diff -1; // Uncomment it to print LPS Length array             for (currentRightPosition 2; currentRightPosition N; currentRightPosition)             {                 // get currentLeftPosition iMirror for currentRightPosition i                 currentLeftPosition 2 * centerPosition - currentRightPosition;                 lengthArray[currentRightPosition] 0;                 diff centerRightPosition - currentRightPosition; // 如果 currentRightPosition 范围内                 if (diff 0)                 {                     lengthArray[currentRightPosition] Math.Min(lengthArray[currentLeftPosition], diff);                 } // 尝试扩展以 currentRightPosition i为中心的回文。                 // 对于奇数位置我们比较字符如果匹配则将LPS长度增加1。                 // 即使是位置我们只是将LPS增加1而不进行任何字符比较。                 while (((currentRightPosition lengthArray[currentRightPosition]) 1 N (currentRightPosition - lengthArray[currentRightPosition]) 0)                     (((currentRightPosition lengthArray[currentRightPosition] 1) % 2 0) ||                      (text[(currentRightPosition lengthArray[currentRightPosition] 1) / 2] text[(currentRightPosition - lengthArray[currentRightPosition] - 1) / 2])))                 {                     lengthArray[currentRightPosition];                 } // 重新计算maxLPSLength                 if (lengthArray[currentRightPosition] maxLPSLength)                 {                     maxLPSLength lengthArray[currentRightPosition];                     maxLPSCenterPosition currentRightPosition;                 } // 如果以currentRightPosition为中心的回文扩展到centerRightPosition之外                 // 根据扩展的回文调整centerPosition                 if (currentRightPosition lengthArray[currentRightPosition] centerRightPosition)                 {                     centerPosition currentRightPosition;                     centerRightPosition currentRightPosition lengthArray[currentRightPosition];                 }             } start (maxLPSCenterPosition - maxLPSLength) / 2;             end start maxLPSLength - 1;             if (end start)             {                 StringBuilder sb new StringBuilder();                 for (int i start; i end; i)                 {                     sb.Append(text.Substring(i, 1));                 }                 return sb.ToString();             }             return ;         }     } }   ------------------------------------------------------- POWER BY TRUFFER.CN 3.2 代码格式 using System; using System.Text; using System.Collections; using System.Collections.Generic;namespace Legalsoft.Truffer.Algorithm {// C# program to implement Manachers Algorithm// This code is contributed by PrinciRaj1992public static class Palindromic_String{public static string Manacher(string text){int N text.Length;if (N 0){return ;}N 2 * N 1;int[] lengthArray new int[N 1];lengthArray[0] 0;lengthArray[1] 1;int centerPosition 1;int centerRightPosition 2;int currentRightPosition 0;int currentLeftPosition;int maxLPSLength 0;int maxLPSCenterPosition 0;int start -1;int end -1;int diff -1;// Uncomment it to print LPS Length arrayfor (currentRightPosition 2; currentRightPosition N; currentRightPosition){// get currentLeftPosition iMirror for currentRightPosition icurrentLeftPosition 2 * centerPosition - currentRightPosition;lengthArray[currentRightPosition] 0;diff centerRightPosition - currentRightPosition;// 如果 currentRightPosition 范围内if (diff 0){lengthArray[currentRightPosition] Math.Min(lengthArray[currentLeftPosition], diff);}// 尝试扩展以 currentRightPosition i为中心的回文。// 对于奇数位置我们比较字符如果匹配则将LPS长度增加1。// 即使是位置我们只是将LPS增加1而不进行任何字符比较。while (((currentRightPosition lengthArray[currentRightPosition]) 1 N (currentRightPosition - lengthArray[currentRightPosition]) 0) (((currentRightPosition lengthArray[currentRightPosition] 1) % 2 0) || (text[(currentRightPosition lengthArray[currentRightPosition] 1) / 2] text[(currentRightPosition - lengthArray[currentRightPosition] - 1) / 2]))){lengthArray[currentRightPosition];}// 重新计算maxLPSLengthif (lengthArray[currentRightPosition] maxLPSLength){maxLPSLength lengthArray[currentRightPosition];maxLPSCenterPosition currentRightPosition;}// 如果以currentRightPosition为中心的回文扩展到centerRightPosition之外// 根据扩展的回文调整centerPositionif (currentRightPosition lengthArray[currentRightPosition] centerRightPosition){centerPosition currentRightPosition;centerRightPosition currentRightPosition lengthArray[currentRightPosition];}}start (maxLPSCenterPosition - maxLPSLength) / 2;end start maxLPSLength - 1;if (end start){StringBuilder sb new StringBuilder();for (int i start; i end; i){sb.Append(text.Substring(i, 1));}return sb.ToString();}return ;}} }
http://www.zqtcl.cn/news/252929/

相关文章:

  • 电商网站用什么框架做广州网站建设公司奇亿网站建设
  • 营销策划网站专做品牌网站
  • 电脑托管宁波seo排名外包
  • 外汇网站模版网站开发和网站制作的区别
  • 学习网站建设的书籍我要做个网站该怎么做
  • h5互动网站建设网站制作的教程
  • 大连网站设计公司双语外贸网站源码
  • 广元网站建设工作室湖北省建设用地预审网站
  • 保定清苑城市建设网站公司网站建立费用
  • 厦门找一家做网站的公司家在深圳论坛
  • 个人网站开发 服务器货源之家官网
  • 教育培训学校网站建设策划局域网 wordpress
  • 重庆建网站有哪些网站做曲线的源代码
  • 龙岩网站设计找哪家公司网站建设没有业务怎么办
  • 网站建设专业学什么建材 团购 网站怎么做
  • 电器工程东莞网站建设wordpress虚拟资源下载源码
  • 无限个网站虚拟空间网站运行维护
  • 宝思哲手表网站关于计算机网站建设的论文
  • uc投放广告网站要自己做吗dw制作企业网站
  • 山东网站制作南京软件外包公司
  • 铁岭建设银行网站网站验证码原理
  • 做网站需要什么专业方向的员工钱多网站
  • 网站建设合同要存档几年7星彩网站开发
  • 网站建设好后 如何验收什么网站可以做护考题
  • 网站安全怎么做wordpress代币插件
  • 吉林网站建设电话龙华网站建设专业定制企业
  • 个人导航网站怎么备案js调用wordpress文章列表
  • 网站微信推广方案衡水外贸网站建设
  • 怎么打造自己的网站如何做自已网站
  • 美容美发网站模板wordpress适合优化吗