185 похожих чатов

Struct Person { enum Gender {

case male
case female
}

let name: String
let surname: String
let age: Int
let gender: Gender
}

extension Person: Hashable {
func hash(into hasher: inout Hasher) {
// Выберите реализацию идеальной хеш-функции. Идеальной хеш-функцией называется такая функция, которая отображает ключ из статического множества (предложенного в примере ниже) во множество во множество целых чисел без коллизий.
}
}


let listOfPersons: [Person] = [
.init(name: "Paul", surname: "Brown", age: 23, gender: .male),
.init(name: "John", surname: "Williams", age: 5, gender: .male),
.init(name: "Donna", surname: "Anderson", age: 62, gender: .male),
.init(name: "Jessica", surname: "Richards", age: 17, gender: .male),
.init(name: "Martin", surname: "Scott", age: 33, gender: .male),
.init(name: "Scott", surname: "Martin", age: 33, gender: .female),
.init(name: "Eva", surname: "Peters", age: 17, gender: .female),
.init(name: "Emily", surname: "Gibson", age: 11, gender: .female),
.init(name: "Mia", surname: "Jordan", age: 97, gender: .female),
.init(name: "Sofia", surname: "Grant", age: 8, gender: .female),
.init(name: "Olivia", surname: "Davis", age: 52, gender: .female),
.init(name: "Mia", surname: "Jones", age: 83, gender: .female),
.init(name: "Mia", surname: "Jones", age: 83, gender: .female),
.init(name: "Olivia", surname: "Davis", age: 24, gender: .female)
]

// Вот варианты ответов

// 1
func hash(into hasher: inout Hasher) {
let combined = name.hashValue ^ surname.hashValue
hasher.combine(combined)
}
// 2
func hash2(into hasher: inout Hasher) {
hasher.combine(name)
hasher.combine(surname)
}
func hash3(into hasher: inout Hasher) {
hasher.combine(age)
hasher.combine(gender)
}
// 4
func hash4(into hasher: inout Hasher) {
let combined = name.unicodeScalars.map { Int($0.value) }.reduce(0, +) + age
hasher.combine(combined)
}
// 5
func hash5(into hasher: inout Hasher) {
hasher.combine(Int.random(in: 0...100))
}
// 6
func hash6(into hasher: inout Hasher) {
hasher.combine(name.count)
hasher.combine(surname.count)
hasher.combine(age)
}
// 7
func hash7(into hasher: inout Hasher) {
let combined = name.count + surname.count + age
hasher.combine(combined)
}


кто нибудь знает ответ?

1 ответов

29 просмотров

оооо, два гендера...

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
16
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
буквально один оставшийся вопрос при выполнении строчки mov eax, 5 операнд "5" будет присутствовать где-либо в памяти (любой), кроме как в памяти блока .code? подвопрос: как...
12
Всем ку. Подскажите, если задекларировал массив так: int arr[10] = {1, 2, 3, 4}, то в arr[4] будет мусор или нуль?
Sasha K
14
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
я не понимаю mov [r11+8],rcx и прочие. мы записываем значение из rcx, куда?
Bor
15
у меня такой вопрос про память в x86 возник, может кто пояснить?.. у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше)...
Toideng
5
А какие расширения активно используются в промышленности? Именно идейные, по типу гадт, а не всякие оверлоадедстрингс
Степан
11
Карта сайта