Utiliser des pointeurs doubles pour la compression de chaînes
Exemple :
public static void zipStr(String str) { char[] c = str.toCharArray(); int index = 0; int num = 1; int len = c.length; while (index < len - 1) { while (c[index] == c[index + 1]) { num++; index++; if (index >= len - 1) { break; } } System.out.print(c[index]); System.out.print(num); num = 1; index++; } }
Le résultat est tel qu'indiqué dans la figure :
(Tutoriel recommandé :Java Quick Start)
Description : Cette méthode compresse une chaîne de la forme (aaabbbccc), et la compression Le résultat est a3b3c3, Mais pour le résultat de la compression du formulaire (acaadbbbcceeeffffff), le résultat est a1c1a2d1b3c2e3f6. Évidemment, ce résultat est déraisonnable, alors utilisez ensuite HashMap pour la compression de chaîne
Utilisez HashMap pour la compression de chaîne <. >
Exemple :public static HashMap fun1(String str) { HashMapmap = new HashMap (); char[] c = str.toCharArray(); for (int i = 0; i < c.length; i++) { Integer count = map.get(c[i]);//此处的count的类型一定要为Integer,如果为int类型,则count值为0 if (!map.containsKey(c[i])) { map.put(c[i], 1); } else { map.put(c[i], count + 1); } } return map; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!