Trouvez la plus longue sous-chaîne chaîne de caractères sans répéter

Définition d'une sous-chaîne en cours: tempString

La mise en place d'une tenue tableau de sous-chaîne sans répétition: liste

idées:

A en juger par le début du premier caractère,

Si la sous-chaîne actuelle ne comprend pas le caractère actuel, la sous-chaîne actuelle joindre le caractère actuel devient le nouveau courant sous-chaîne,

Si la sous-chaîne actuelle, y compris le caractère courant dans la position actuelle de caractères est déterminé dans la chaîne en cours, selon la position de la chaîne en deux chaînes, une extrémité arrière si le caractère actuel est ajouté à la nouvelle sous-chaîne en cours, déterminé sous courant tableau de chaînes sous-chaîne de longueur de la liste si la longueur actuelle de la chaîne, la liste vide, la sous-chaîne de courant ajouté, si égal, directement ajouté à la liste de sous-chaîne en cours.

La liste finale de la sous-chaîne est la plus longue sous-chaîne

public static void longestNodupSubstring (chaîne String) {
  if (NULL == chaîne || string.length () == 0) {
   retour;
  }
  Liste <String> list = new ArrayList <String> ();
  Chaîne tempString = "";
  pour (int i = 0; i <string.length (); i ++) {
   if (tempString.indexOf (String.charAt (i)) == -1) {
    tempString + = String.charAt (i);
   } Else {
    int j = tempString.indexOf (String.charAt (i));
    tempString = tempString.substring (j + 1) + String.charAt (i);
   }
   If (list.size () == 0) {
    list.add (tempString);
   } Else {
    if (tempString.length ()> list.get (0) .length ()) {
     list.clear ();
     list.add (tempString);
    } Else {
     if (tempString.length () == list.get (0) .length ()) {
      list.add (tempString);
     }
    }
   }
  }
  For (int i = 0; i <list.size (); i ++) {
   System.out.println (list.get (i));
  }
 }

 public static void main (String [] args) {
  longestNodupSubstring1 ( "ABCABCABC");
 }

Publié 34 articles originaux · a gagné les éloges 2 · vues 40000 +

Je suppose que tu aimes

Origine blog.csdn.net/zjj2006/article/details/42744781
conseillé
Classement