码迷,mamicode.com
首页 > 其他好文 > 详细

3. Longest Substring Without Repeating Characters

时间:2016-01-29 21:04:59      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

计算一个字符串的最长不重复字符串长度

例如abcdcfdgq

截取的是cfdgq 长度为5

 1     public int lengthOfLongestSubstring(String s) {
 2         if(s == null || s.length() == 0){
 3             return 0;
 4         }
 5         int max = 0;
 6         //j是左边界,i是右边界
 7         int j = 0;
 8         Map<Character,Integer> map = new HashMap<Character,Integer>();
 9         for(int i = 0;i < s.length(); i++){
10             if(map.get(s.charAt(i)) != null){
11                 //如果有重复字符,移动j的位置
12                 j = Math.max(j,map.get(s.charAt(i))+1);
13             }
14             //更新map表
15             map.put(s.charAt(i),i);
16             //更新max值
17             max = Math.max(max,i-j+1);
18         }
19         return max;
20     }

 

3. Longest Substring Without Repeating Characters

标签:

原文地址:http://www.cnblogs.com/imyanzu/p/5169798.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!