importar java.util.HashMap;
import java.util.Map;
Programa de clase pública {
public static void main (String [] args) {
- ¿Qué estructura de datos debo usar si estoy diseñando un algoritmo que clasifica las páginas por relevancia de acuerdo con la cantidad de veces que se ven?
- ¿Por qué es importante el análisis de algoritmos?
- ¿Cuál es la complejidad de esta recursividad F (1, n)?
- ¿Cuál es un buen algoritmo para interpolar datos de series temporales faltantes?
- ¿El algoritmo de Kruskal resuelve siempre el problema del vendedor ambulante?
String s = “Un dragón, un dragón, juro que vi un dragón. ¡Un dragón!”;
Map map = getWordCount (s);
para (Map.Entry entrada: map.entrySet ()) {
System.out.println (entry.getKey () + “:” + entry.getValue ());
}
}
Mapa estático getWordCount (String s) {
si (s == nulo)
lanzar una nueva NullPointerException (“La cadena de entrada era nula”);
Map map = new HashMap ();
Cadena [] palabras = s.split (“[\\ p {Punct} \\ s] +”);
para (palabra de cadena: palabras) {
Conteo entero = map.get (palabra);
map.put (word, (count == null? 1: count + 1));
}
mapa de retorno;
}
}
Algunas cosas a tener en cuenta sobre este código:
- Considera cada ficha como mayúsculas y minúsculas. Entonces, la palabra Se considera diferente de la palabra it o de cualquier otra variante.
- Es posible que desee trabajar con la expresión regular proporcionada como argumento para el método de
split
en la instancia deString
para atender las palabras que incluyen un signo de puntuación como parte de su forma. Por ejemplo, palabras que un apóstrofe en ellos. Por ejemplo, la palabra Es .