Aufgenommen, weil ich es in der Einführung zu Paizas Fähigkeitsüberprüfung schwer hatte.
Scanner sc = new Scanner(System.in);
List<String> words = new ArrayList<>();
while(sc.hasNext()) {
String s = sc.nextLine();
if (words.contains (s)) {// Überprüfen Sie, ob es bereits in der Liste enthalten ist, und löschen Sie es, falls vorhanden words.remove(s); } words.add (0, s); // Füge die eingegebene Zeichenfolge am Anfang der Liste hinzu }
for(String word : words) {
System.out.println(word);
}
-Wenn Sie den Wert von ArrayList mit remove () oder add () erhöhen oder verringern, müssen alle gespeicherten Werte verschoben werden, sodass die Verarbeitung einige Zeit in Anspruch nimmt. -Seit enthält () von ArrayList durchsucht auch alle Werte in der Liste, je mehr die gespeicherten Werte, desto länger die Verarbeitungszeit.
Fügen Sie alle eingegebenen Zeichenfolgen zur Liste hinzu und verwenden Sie HashSet, um Duplikate auszublenden. (Ich lösche es nicht wirklich, ich nehme an, es war nicht da)
Scanner sc = new Scanner(System.in);
List<String> words = new ArrayList<>();
while(sc.hasNext()) {
String s = sc.nextLine();
words.add(s);
}
Collections.reverse (words); // Invertiert die Liste, um sie von der neu eingegebenen Liste auszugeben
Setzen Sie
for(String word : words) {
if (! usedWords.contains (word)) {// Bestimmen Sie, ob es bereits zu usedWord hinzugefügt wurde (Duplikat), und zeigen Sie es an, wenn nicht System.out.println(word); } usedWords.add(word); }
Recommended Posts