1133. Largest Unique Number
Der Aufgabentext wird für die gewählte Sprache aus dem Russischen übersetzt. Code bleibt unverändert.
Вам Дан Ganzzahl Array nums, return наибольшее Ganzzahl, которое встречается только один раз. Если ни одно Ganzzahl не встречается один раз, return -1.
Beispiel:
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# Lösung
zugeordnet/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++ Lösung
Auto-Entwurf, vor dem Einreichen prüfen#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 Lösung
zugeordnet/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 результат.
😎
Stellen zu dieser Aufgabe
aktive Stellen with overlapping task tags are angezeigt.
Es gibt noch keine aktiven Stellen.