class Solution {
public int lengthOfLongestSubstring(String s) {
int[] hash = new int[128];
int ans = 0, prev = 0, i = 0;
for (char c : s.toCharArray()) ans = Math.max(ans, -(prev = Math.max(prev, hash[c])) + (hash[c] = ++i));
return ans;
}
}
LEETCODE的题目,求无重复字符的最长子串的一个解,能否详细解释一下其中这段代码?没看明白。
for (char c : s.toCharArray()) ans = Math.max(ans, -(prev = Math.max(prev, hash[c])) + (hash[c] = ++i));