Skip to content

Commit 2106059

Browse files
authored
Create first_unique_number_in_data_stream.py
1 parent d80f74f commit 2106059

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
class Solution:
2+
"""
3+
@param nums: a continuous stream of numbers
4+
@param number: a number
5+
@return: returns the first unique number
6+
"""
7+
def firstUniqueNumber(self, nums, number):
8+
# Write your code here
9+
# 难度在于第一个
10+
di = {}
11+
pos = 0
12+
for i in range(0, len(nums)):
13+
if nums[i] == number:
14+
min_pos = len(nums)
15+
items = sorted(di.items(), key = lambda item: item[1]) # 根据位置排序
16+
if items and (items[0][1] < len(nums)):
17+
return items[0][0]
18+
else:
19+
return number
20+
else:
21+
if nums[i] not in di: # 来,先看这里的注释。
22+
di[nums[i]] = pos # 记录第一次出现的位置
23+
pos += 1
24+
else:
25+
di[nums[i]] = len(nums) # 重复了就把位置挪到最后
26+
return -1
27+
28+
# medium: https://www.lintcode.com/problem/first-unique-number-in-data-stream

0 commit comments

Comments
 (0)