P91 sans répétition la plus longue sous-chaîne de caractères (leetcode 3)

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; 
        } 
    }

 

Je suppose que tu aimes

Origine www.cnblogs.com/repinkply/p/12639280.html
conseillé
Classement