文章标题
来源:互联网 发布:打电话通话变音软件 编辑:程序博客网 时间:2024/06/10 23:16
class Solution {public: int lengthOfLongestSubstring(string s) { int size = s.size(); string s1(s); int **p = new int*[size+1]; for(int i=0;i<size+1;i++) p[i] = new int[size+1]; for(int i=0;i<size+1;i++) { p[0][i]=0; p[i][0]=0; }//init for(int i=1;i<size+1;i++) { for(int j=1;j<size+1;j++) { if(s1[i]==s[j]) { if(p[i-1][j-1]>0)// { if(is_inline(p[i],j)||is_inline(p[j],i)) p[i][j]=1; else p[i][j]=p[i-1][j-1]+1; } else { p[i][j]=1; } } else p[i][j]=0; } } int max=0; for(int i=1;i<size+1;i++) for(int j=1;j<size+1;j++) if(p[i][j]>max) max=p[i][j]; delete[]p; return max; } bool is_inline(int in[],int pos) { for(int i=0;i<pos;i++) if(in[i]!=0) return true; return false; }};
class Solution {public: int lengthOfLongestSubstring(string s) { int len = s.size(); //if(len>1000) // return 0; int *p = new int[len]; int max = 0; // for(int k=0;k<len;k++) // { for(int i=0;i<len;i++) p[i]=0; p[0]=1; for(int i=0+1;i<len;i++) { IsRep(i,p,s,&max); p[i] = p[i-1]+1; } for(int i=0;i<len;i++) if(max<p[i]) max = p[i]; //return max; //} delete[]p; return max; } bool IsRep(int i,int p[],string s,int *m) { int k = i-1; int tims = 0; while(tims<p[i-1]) { tims++; if(s[k]==s[i]) { if(*m<p[i-1]) *m = p[i-1]; int x=1; p[k]=0; for(int n=k+1;n<i;n++) p[n] = x++; return true; } else k--; } return false; }};
0 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- RunTime.getRunTime().addShutdownHook用法
- C. 圆圈圈 几何水题
- Electron安装
- 性能之js位置
- XML总结
- 文章标题
- D. 反弹球游戏 几何水题 ,画出图就可AC
- php 获取开始日期与结束日期之间所有日期
- PAT(乙级)1009. 说反话
- 流量协议包注入神器--t50
- js 获取浏览器版本信息(全)
- 第十五周项目二(1)-洗牌(随机交换两个位置的元素来洗牌)
- 大一学习总结
- 【java细节】Java代码忽略https证书:No subject alternative names present