Tracks
/
Rust
Rust
/
Übungen
/
Zeitschriftenausschnitt
Zeitschriftenausschnitt

Zeitschriftenausschnitt

Lernübung

Einführung

Die Entry-API von Rust bietet eine Sicht auf einen einzelnen Eintrag in einer Map, die entweder ein HashMap oder ein BTreeMap sein kann. Der Eintrag kann entweder belegt oder frei sein, und die API bietet Methoden, um den Inhalt des Eintrags zu ändern.

Anleitung

In dieser Übung verwendest du eine HashMap zusammen mit den Methoden der Entry-API, um ein einfaches Algorithmusproblem zu lösen.

Gegeben sind &[&str] für die Wörter eines Zeitschriftenartikels und &[&str] für die Wörter einer Notiz, die du verschicken möchtest. Kannst du deine Notiz zusammenstellen, indem du Wörter aus der Zeitschrift ausschneidest und sie in einen Brief klebst?

Hinweise:

  • Das bedeutet echtes Ausschneiden und Kleben: Die Zeitschrift muss jedes Wort mindestens so oft enthalten, wie die Notiz es verlangt.
  • Die Groß- und Kleinschreibung ist wichtig. Nur weil du eine Notiz aus den Wörtern einer Zeitschrift zusammenklebst, heißt das nicht, dass du bereit bist, ungrammatikalisch zu schreiben.

Du beginnst mit der folgenden vorgegebenen Funktionssignatur:

pub fn can_construct_note(magazine: &[&str], note: &[&str]) -> bool {
    todo!()
}

Mit der folgenden Eingabe

let magazine = "two times three is not four".split_whitespace().collect::<Vec<&str>>();
let note = "two times two is four".split_whitespace().collect::<Vec<&str>>();
assert!(!can_construct_note(&magazine, &note));

gibt die Funktion false zurück, weil die Zeitschrift nur ein einziges "two" enthält, die Notiz aber zwei davon benötigt.

Die folgende Eingabe funktioniert:

let magazine = "Astronomer Amy Mainzer spent hours chatting with Leonardo DiCaprio for Netflix's 'Don't Look Up'".split_whitespace().collect::<Vec<&str>>();
let note = "Amy Mainzer chatting with Leonardo DiCaprio"
    .split_whitespace()
    .collect::<Vec<&str>>();
assert!(can_construct_note(&magazine, &note));

Die Funktion gibt true zurück, weil die Zeitschrift alle Wörter enthält, die die Notiz benötigt.

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Rust Exercism

Bereit, mit Zeitschriftenausschnitt zu starten?

Melde dich bei Exercism an, um Rust mit 99 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.