Cho một danh sách số, cần trả về số xuất hiện đúng 1 lần. Nếu không có phần tử nào thỏa mãn, trả về -1. Ví dụ: [5,2,3,6,5,2,9,6,3] cho kết quả 9.
Để giải quyết:
- Duyệt từng phần tử, đưa vào map đếm tần suất
- Duyệt map, khi giá trị = 1, trả về key lớn nhất
Ví dụ (Python)
class Solution(object):
def largestUniqueNumber(self, A):
d = {}
ans = -1
for i in A:
if i not in d:
d[i] = 1
else:
d[i] += 1
for a, b in d.items():
if b == 1:
ans = max(a, ans)
return ans
ob1 = Solution()
print(ob1.largestUniqueNumber([5, 2, 3, 6, 5, 2, 9, 6, 3]))
Đầu vào
[5, 2, 3, 6, 5, 2, 9, 6, 3]
Kết quả
9