สมมติว่าเรามีรายการตัวเลข เราต้องคืนค่าตัวเลขที่เกิดขึ้นครั้งเดียว หากไม่มีองค์ประกอบแบบนี้ ให้คืนค่า -1 ดังนั้นถ้ารายการคือ [5,2,3,6,5,2,9,6,3] ผลลัพธ์จะเป็น 9
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนต่อไปนี้ −
- เราจะตรวจสอบแต่ละองค์ประกอบ และใส่ลงในแมป หากองค์ประกอบไม่อยู่ในแมป ให้เพิ่มรายการใหม่ มิฉะนั้นเพิ่มค่า
- จากนั้นวนผ่านแมป เมื่อค่าเป็น 1 ให้คืนค่าคีย์
ตัวอย่าง (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]))
อินพุต
[5,2,3,6,5,2,9,6,3]
ผลลัพธ์
9