找到字符串的最长无重复字符子串
来源:互联网 发布:linux vi命令日志 编辑:程序博客网 时间:2024/05/21 08:48
【题目】
给定str,返回其最长无重复字符子串的长度。
要求时间复杂度为O(N).
【举例】
public static void main(String[] args) { String s="abcd"; System.out.println(maxNoRepeat(s));//4 s="aabcb"; System.out.println(maxNoRepeat(s));//3 }
【代码】
//找到字符串的最长无重复字符子串 public static int maxNoRepeat(String str){ if(str==null || str.equals("")){ return 0; } char[] chas=str.toCharArray(); boolean[] dep=new boolean[256]; String res1="";//存最大的无重复字符串子串 String res0="";//存当前的无重复字符子串 for(int i=0;i<chas.length;i++){ if(dep[chas[i]]!=true){ res0+=chas[i]; dep[chas[i]]=true; } else{//遇到出现过的字符,重新存res[0],以当前字符chas[i]开始 res1=res0.length()>res1.length()?res0:res1; res0=String.valueOf(chas[i]); } } return Math.max(res0.length(), res1.length()); }
【注】
在eclipse的编译调试下,做出来的第二题~
虽然不知道到底是否真的对,但不想看书上的解析啦~
如果有问题或不符合要求,欢迎批评指正~
阅读全文
0 0
- 找到字符串的最长无重复字符子串
- 找到字符串中无重复最长的字符子串
- 找到字符串的最长无重复字符子串
- 字符串问题---找到字符串的最长无重复字符子串
- 求字符串中最长无重复字符的子串
- 求字符串中最长无重复字符的子串
- 查找字符串中最长无重复字符的子串
- 求字符串中最长无重复字符的子串
- 求字符串中最长无重复字符的子串
- 求字符串的最长无重复字符子串(C++)
- 求字符串中最长无重复字符的子串
- 字符串中最长无重复字符的子串
- 求字符串中最长无重复字符的子串
- 求字符串中最长无重复字符的子串
- 最长无重复字符的子串
- 最长无重复字符的子串
- 最长无重复字符的子串
- 最长无重复字符的子串
- AI技术与伦理
- 10年感触:架构是什么?——消灭架构!
- 数据结构之冒泡排序(java)
- 聪会长的关爱:dfs计算最大八方联通块的面积
- maven学习---基本命令使用
- 找到字符串的最长无重复字符子串
- JAVA之数组拷贝
- Zstandard(Zstd)新型压缩算法代替Zlib 简单使用教程
- 第七章 图(邻接矩阵和邻接表建立图并实现DFS、BFS)
- SSM环境搭建(四)
- C++函数返回多个参数
- 基础练习 回文数 (蓝桥杯)
- 12.7复习期末+project
- 求二进制中1的个数