A Rust entry API egy map egyetlen bejegyzésére nyújt rálátást, amely HashMap vagy BTreeMap is lehet.
A bejegyzés vagy foglalt, vagy üres, és az API metódusokat biztosít a bejegyzés tartalmának módosításához.
Ebben a feladatban egy HashMap-et és az entry API metódusait fogod használni, hogy megoldj egy egyszerű algoritmusproblémát.
Adott egy &[&str], amely egy magazincikk szavait tartalmazza, és egy &[&str], amely egy elküldeni kívánt üzenet szavait tartalmazza. Össze tudod állítani az üzenetedet úgy, hogy szavakat vágsz ki a magazinból, és beilleszted őket egy levélbe?
Megjegyzések:
A következő csonkolt függvényszignatúrából indulsz ki:
pub fn can_construct_note(magazine: &[&str], note: &[&str]) -> bool {
todo!()
}
A következő bemenet esetén
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, ¬e));
a függvény false-t ad vissza, mert a magazin csak egyetlen "two" példányt tartalmaz, az üzenethez viszont kettő kell belőle.
A következő bemenet sikeres lesz:
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, ¬e));
A függvény true-t ad vissza, mert a magazin tartalmazza az összes szót, amelyre az üzenetnek szüksége van.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Rust nyelvet 99 feladat segítségével, valódi emberi mentorálással, mindez ingyen.