Сложность: easy
Вам Дан целочисленный массив nums, верните наибольшее целое число, которое встречается только один раз. Если ни одно целое число не встречается один раз, верните -1.
Пример:
Input: nums = [5,7,3,9,4,9,8,3,1]
Output: 8
Explanation: The maximum integer in the array is 9 but it is repeated. The number 8 occurs only once, so it is the answer.
👨💻 Алгоритм:
1⃣Создайте хеш-таблицу для хранения количества каждого числа в массиве.
2⃣Пройдите по массиву и заполните хеш-таблицу количеством каждого числа.
3⃣Инициализируйте результат значением -1. Пройдите по хеш-таблице и если значение ключа равно 1, установите результат равным максимальному значению между ключом и текущим результатом. Верните результат.
😎 Решение:
class Solution {
func largestUniqueNumber(_ nums: [Int]) -> Int {
var count = [Int: Int]()
for num in nums {
count[num, default: 0] += 1
}
var result = -1
for (key, value) in count {
if value == 1 {
result = max(result, key)
}
}
return result
}
}Ставь 👍 и забирай 📚 Базу знаний