LC: 1429. First Unique Number
https://leetcode.com/problems/first-unique-number/
1429. First Unique Number
You have a queue of integers, you need to retrieve the first unique integer in the queue.
Implement the FirstUnique class:
FirstUnique(int[] nums)Initializes the object with the numbers in the queue.int showFirstUnique()returns the value of the first unique integer of the queue, and returns -1 if there is no such integer.void add(int value)insert value to the queue.
Example 1:
Input:
["FirstUnique","showFirstUnique","add","showFirstUnique","add","showFirstUnique","add","showFirstUnique"]
[[[2,3,5]],[],[5],[],[2],[],[3],[]]
Output:
[null,2,null,2,null,3,null,-1]
Explanation:
FirstUnique firstUnique = new FirstUnique([2,3,5]);
firstUnique.showFirstUnique(); // return 2
firstUnique.add(5); // the queue is now [2,3,5,5]
firstUnique.showFirstUnique(); // return 2
firstUnique.add(2); // the queue is now [2,3,5,5,2]
firstUnique.showFirstUnique(); // return 3
firstUnique.add(3); // the queue is now [2,3,5,5,2,3]
firstUnique.showFirstUnique(); // return -1Example 2:
Example 3:
Constraints:
1 <= nums.length <= 10^51 <= nums[i] <= 10^81 <= value <= 10^8At most
50000calls will be made toshowFirstUniqueandadd.
The Essence:
Es seien zwei Zahlenmenge. Die Erste ist für die einmalige Zahlen und die Zweite ist für alle vorgekommenen Zahlen. Wenn man versucht, eine Zahl zu der Menge aller Zahlen zu addieren, wird sie von der Menge einmaligen Zahlen entweder gelöscht oder dazu auch addiert, je nach der Anwesenheit der Zahl.
Details:
Das oben beschriebene Verfahren kann buchstäblich mithilfe von Mengen, nämlich Datenstrukturen wie LinkedSet in Java, implementiert werden. Bei der Rückgabe der einmaligen Zahl müssen die Elemente aus der Menge in Reihenfolge ihrer Addierung verarbeitet.
Darüber hinaus kann die Liste der einmaligen Zahlen durch eine verkettete Liste dargestellt werden. Ihre Anwesenheit kann anhand einer Hash-Tabelle überprüft werden, die auch als Werte die Knoten der verketteten Liste besitzt. Das Addieren, wenn ein Knoten in der Hash-Tabelle vorhanden ist, führt dazu, dass der Knoten aus der verketteten Liste gelöscht wird.
Solution(s):
Default Code:
Last updated