6-bo'lim: Hash map / obyekt / lug'at¶
79. Kalit bormi (has key)¶
β± O(1) Β· πΎ O(1)
JS
PHP PythonHash map kalitni hash funksiya orqali to'g'ridan-to'g'ri bucket indeksiga aylantiradi β shuning uchun kalit bor-yo'qligini tekshirish o'rtacha O(1) bo'ladi:
80. Kalit-qiymat qo'shish / yangilash¶
β± O(1) Β· πΎ O(1)
JS
PHP Python81. Kalitlar ro'yxati¶
β± O(n) Β· πΎ O(n)
JS
PHP Python82. Qiymatlar ro'yxati¶
β± O(n) Β· πΎ O(n)
JS
PHP Python83. Kalit bo'yicha o'chirish¶
β± O(1) Β· πΎ O(1)
JS
PHP Python84. Ikki obyektni birlashtirish (merge)¶
β± O(n + m) Β· πΎ O(n + m)
Eslatma: PHP array_merge da raqamli kalitlar qayta indekslanadi; string kalitlar uchun ikkinchisi ustun keladi.
JS
PHP Python85. Qiymatlar yig'indisi¶
β± O(n) Β· πΎ O(1)
JS
PHP Python86. Eng katta qiymatli kalit¶
β± O(n) Β· πΎ O(1)
JS
PHP Python87. Obyektni qiymat bo'yicha saralash¶
β± O(n log n) Β· πΎ O(n)
JS
PHP Python88. So'z chastotasi (word frequency)¶
β± O(n) Β· πΎ O(k) β matndagi so'zlarni sanash.
JS
const wordFreq = s => {
const m = {};
for (const w of s.toLowerCase().split(/\s+/).filter(Boolean)) m[w] = (m[w] || 0) + 1;
return m;
};
function wordFreq($s) {
$words = preg_split('/\s+/', strtolower(trim($s)), -1, PREG_SPLIT_NO_EMPTY);
return array_count_values($words);
}
89. Ikki ro'yxatdan obyekt yasash (zip β map)¶
β± O(n) Β· πΎ O(n)
JS
PHP Python90. Obyektni teskari aylantirish (invert: keyβvalue)¶
β± O(n) Β· πΎ O(n)
JS
PHP Python91. Guruhlash (group by β juft/toq misolida)¶
β± O(n) Β· πΎ O(n)
JS
const groupParity = arr => {
const g = { even: [], odd: [] };
for (const x of arr) g[x % 2 === 0 ? "even" : "odd"].push(x);
return g;
};
function groupParity($arr) {
$g = ["even" => [], "odd" => []];
foreach ($arr as $x) $g[$x % 2 === 0 ? "even" : "odd"][] = $x;
return $g;
}
def group_parity(arr):
g = {"even": [], "odd": []}
for x in arr:
g["even" if x % 2 == 0 else "odd"].append(x)
return g