A: idées de résolution de problèmes
Temps: Le (n), Espace: Le (1)
Deux: Complete exemples de code (version C ++ et la version Java)
C ++:
classe Solution { publique : int lengthOfLongestSubstring ( string s) { si (s.size () == 0 ) retour 0 ; int maxLen = 0 ; vector < int > index ( 256 , - 1 ); pour ( int i = 0 , j = 0 ; j <s.size (); j ++ ) { i = max (index [s [j]] + 1 , i); maxLen= Max (maxLen, j-i + 1 ); Index [s [j]] = j; } Retour maxLen; } };
Java:
class Solution { publique int lengthOfLongestSubstring (String s) { si (s == null || s.length () == 0 ) retour 0 ; int [] = indice nouveau int [ 256 ]; Arrays.fill (index, - 1 ); int maxLen = 0 ; pour ( int i = 0 , j = 0 ; j <s.length (); j ++ ) { i= Math.max (index [s.charAt (j)] + 1 , i); maxLen = Math.max (maxLen, j-i + 1 ); index [s.charAt (j)] = j; } Retour maxLen; } }