1133. Largest Unique Number
Вам Дан целочисленный массив 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.
C# решение
сопоставлено/оригиналpublic class Solution {
public int LargestUniqueNumber(int[] nums) {
Dictionary<int, int> count = new Dictionary<int, int>();
foreach (int num in nums) {
if (count.ContainsKey(num)) {
count[num]++;
} else {
count[num] = 1;
}
}
int result = -1;
foreach (var entry in count) {
if (entry.Value == 1) {
result = Math.Max(result, entry.Key);
}
}
return result;
}
}
C++ решение
auto-draft, проверить перед отправкой#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
public int LargestUniqueNumber(vector<int>& nums) {
unordered_map<int, int> count = new unordered_map<int, int>();
foreach (int num in nums) {
if (count.count(num)) {
count[num]++;
} else {
count[num] = 1;
}
}
int result = -1;
foreach (var entry in count) {
if (entry.Value == 1) {
result = max(result, entry.Key);
}
}
return result;
}
}
Java решение
сопоставлено/оригиналclass Solution {
public int largestUniqueNumber(int[] A) {
Map<Integer, Integer> count = new HashMap<Integer, Integer>();
for (int i : A) {
count.put(i, count.getOrDefault(i, 0) + 1);
}
int result = -1;
for (Map.Entry<Integer, Integer> entry : count.entrySet()) {
if (entry.getValue() == 1) {
result = Math.max(result, entry.getKey());
}
}
return result;
}
}
Algorithm
Создайте хеш-таблицу для хранения количества каждого числа в массиве.
Пройдите по массиву и заполните хеш-таблицу количеством каждого числа.
Инициализируйте результат значением -1. Пройдите по хеш-таблице и если значение ключа равно 1, установите результат равным максимальному значению между ключом и текущим результатом. Верните результат.
😎
Вакансии для этой задачи
Показаны активные вакансии с пересечением по тегам задачи.
Активных вакансий пока нет.