Сложность: easy
Дан массив целых чисел arr. Счастливое число — это число, частота которого в массиве равна его значению.
Верните наибольшее счастливое число в массиве. Если счастливого числа нет, верните -1.
Пример:
Input: arr = [1,2,2,3,3,3]
Output: 3
Explanation: 1, 2 and 3 are all lucky numbers, return the largest of them.
👨💻 Алгоритм:
1⃣Создайте хэш-карту для подсчёта частоты каждого числа в массиве.
2⃣Пройдитесь по ключам и значениям хэш-карты, чтобы найти счастливые числа.
3⃣Верните наибольшее счастливое число или -1, если таких чисел нет.
😎 Решение:
class Solution {
function findLucky($arr) {
$counts = array_count_values($arr);
$largestLuckyNumber = -1;
foreach ($counts as $num => $count) {
if ($num == $count) {
$largestLuckyNumber = max($largestLuckyNumber, $num);
}
}
return $largestLuckyNumber;
}
}Ставь 👍 и забирай 📚 Базу знаний