Middle
Кандай тезирек текшерсе болот, бир коллекция башкасына киретеби: массив же жыйнакты колдонуп?
sobes.tech AI
AIден жооп
Жыйнак (Set) элементтердин кирүү текшерүүсү үчүн тезирээк.
Түшүндүрмө:
- Массив (Array): Массивдеги элементтин кирүү текшерүү орточо убакытта O(n), анда n — элементтердин саны. Бир жыйнактын экинчисине кирүү текшерүү үчүн n ирет өтүү керек, ар бири O(m), анда m — экинчи жыйнактын өлчөмү. Жалпысынан O(n*m).
- Жыйнак (Set): Жыйнактын ичинде элементтин бар-жогун текшерүү орточо убакытта O(1). Бир жыйнактын экинчисине кирүү текшерүү үчүн n ирет өтүү керек, ар бири O(1). Жалпысынан O(n).
Мисал менен:
- Биринчи жыйнактан
Setтүзүңүз. - Экинчи жыйнактын ар бир элементин текшерип, ал түзүлгөн
Setте бар-жогун текшериңиз.
let collection1: [Int] = [1, 2, 3, 4, 5]
let collection2: [Int] = [2, 4]
// collection1ден жыйнак түзүү
let set1 = Set(collection1)
// collection2 collection1дин кичинекей жыйнагыбы же жокпу текшерүү
let isSubset = collection2.allSatisfy { set1.contains($0) }
print(isSubset) // true чыгат