下面是我的算法:暴力算法,最简单的思路,循环所有的字符
class Solution {
public int lengthOfLongestSubstring(String s) {
int i, j;
int count = 0;
StringBuilder str = new StringBuilder();
for(i=0;i<s.length();i++){
List<Character> list = null;
for(j=i;j<s.length();j++)
{
if(null == list)
list = new ArrayList<Character>();
char c = s.charAt(j);
if(list.contains(c))
break;
else
list.add(c);
}
if(null != list && list.size()>count){
count = list.size();
}
}
return count;
}
}
执行结果:
执行用时 : 294 ms, 在Longest Substring Without Repeating Characters的Java提交中击败了6.33% 的用户
内存消耗 : 68.3 MB, 在Longest Substring Without Repeating Characters的Java提交中击败了8.17% 的用户