1133. Largest Unique Number
O texto da tarefa é traduzido do russo para o idioma selecionado. O código permanece sem alterações.
Вам Дан inteiro array nums, return наибольшее inteiro, которое встречается только один раз. Если ни одно inteiro не встречается один раз, return -1.
Exemplo:
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# solução
correspondente/originalpublic 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++ solução
rascunho automático, revisar antes de enviar#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 solução
correspondente/originalclass 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
Создайте хеш-таблицу для хранения количества каждого числа в arrayе.
Пройдите по arrayу и заполните хеш-таблицу количеством каждого числа.
Инициализируйте результат значением -1. Пройдите по хеш-таблице и если значение ключа равно 1, установите результат равным максимальному значению между ключом и текущим результатом. return результат.
😎
Vacancies for this task
vagas ativas with overlapping task tags are mostradas.
Ainda não há vagas ativas.