Java-Programmieraufgaben: Arrays, Zeichenketten und Collections10
Beginnen Sie mit einer Berechnung und verfolgen Sie, wie die Aufgabe den aufzubewahrenden Zustand verändert. Jede zentrale Aufgabe enthält eine vollständige Java-Lösung, ihre Eingabebedingungen und die Begründung des Algorithmus.
Arrays und numerische Grenzen
Wenden Sie Vorzeichen an und ordnen Sie Indizes zu, bevor Sie int oder long wählen. Danach folgt eine Zahlenfolge, deren Produkte int überschreiten.
- Vorzeichenbehaftete Werte in Java mit IntStream addieren
Absolutwerte und zugehörige boolesche Vorzeichen mit IntStream kombinieren. Aufhebung, ausschließlich negative Eingaben, int-Grenzen und den Vertrag gleicher Arraylängen prüfen.
- Skalarprodukt von Java-Arrays: IntStream und Ganzzahlgrenzen
Mit IntStream entsprechende Arrayelemente multiplizieren und addieren. Vorzeichen, int-Grenzen und die Typumwandlung vor einem Überlauf bei der Multiplikation verstehen.
- Eine Folge mit Abstand x in Java: Vor der Multiplikation erweitern
Mit IntStream n Werte von x bis x*n erzeugen. Warum mapToLong allein keinen int-Überlauf verhindert, mit Prüfungen für positive, negative und Null-Schrittweiten.
Zeichenketten und geordnete Umformungen
Ersetzen Sie ausgeschriebene Ziffern wörtlich, bewahren Sie die Reihenfolge der Normalisierung und entfernen Sie anschließend benachbarte gleiche Zeichenpaare mit einem Stack.
- Englische Ziffernwörter mit Java String.replace umwandeln
Gültige Mischungen aus Ziffern und zero bis nine durch wörtliche Ersetzung normalisieren. Unterschiede zwischen replace und replaceAll sowie Integer-Grenzen und Geltungsbereich.
- Neue IDs in Java: Reihenfolge der Normalisierung und Kürzung
ID-Normalisierung mit Optional-Kette und Schleife: Punktfolgen, leere Filterergebnisse, Bereinigung nach Kürzung, Auffüllen und Unabhängigkeit von der Locale.
- Benachbarte gleiche Zeichenpaare in Java mit ArrayDeque entfernen
Ein Stack reduziert benachbarte gleiche Zeichenpaare. Präfixinvariante, kaskadierende Entfernung, Grenzen bei einer Million Zeichen und Laufzeit-/Speicherkosten.
Anzahlen, Zustand und Reihenfolge
Unterscheiden Sie Namenshäufigkeiten von der Anzahl verschiedener Typen. Verfolgen Sie danach die letzte Cache-Nutzung und ordnen Sie Verhältnisse mit einer ausdrücklichen Regel für Gleichstände.
- Fehlenden Läufer in Java über Namenshäufigkeiten finden
Mit HashMap die Häufigkeiten der Finisher von denen der Teilnehmer abziehen. Doppelte Namen ohne Set-Differenz und die Bedingung genau eines fehlenden Läufers.
- Java Ponketmon: Warum min(verschiedene Typen, N/2) die Antwort ist
Verschiedene Typen mit HashSet zählen und die Erreichbarkeit der Auswahlgrenze beweisen. Maximale Typanzahl und Konstruktion einer konkreten Auswahl unterscheiden.
- LRU-Cache in Java: Zugriffsreihenfolge mit LinkedHashMap
LRU mit zugriffsgeordnetem LinkedHashMap simulieren: Trefferaktualisierung, Verdrängung, Schlüssel ohne Groß-/Kleinschreibung, Kapazität null und Kostenannahmen.
- Fehlerraten in Java sortieren: Nenner, Gleichstände und long-Produkte
Gestoppte und angekommene Spieler zählen, exakte Raten mit long-Kreuzprodukten sortieren und unerreichte Stufen, vollständigen Abschluss und Gleichstände behandeln.