สมมติว่าเรามีรายการตัวเลข nums (บวกหรือลบ) เราต้องตรวจสอบว่าจำนวนการเกิดขึ้นของทุกค่าในอาร์เรย์นั้นไม่ซ้ำกันหรือไม่
ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[6, 4, 2, 9, 4, 2, 2, 9, 9, 9] ผลลัพธ์จะเป็น True เนื่องจากมี 1 รายการเป็น 6, 2 รายการเป็น 4 3 ครั้งจาก 2 ครั้ง และ 4 ครั้งจาก 9 ครั้ง ดังนั้นจำนวนครั้งจึงไม่ซ้ำกัน
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
num_counts :=แผนที่ใหม่ที่เก็บค่าทั้งหมดและจำนวนครั้งของค่านั้นไว้
-
เหตุการณ์ :=รายการค่าทั้งหมดของ num_counts
-
คืนค่า True เมื่อขนาดของเหตุการณ์เท่ากับจำนวนองค์ประกอบที่ไม่ซ้ำในการเกิดขึ้น มิฉะนั้น จะเป็นเท็จ
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
from collections import Counter class Solution: def solve(self, nums): num_counts = dict(Counter(nums)) occurrences = num_counts.values() return len(occurrences) == len(set(occurrences)) ob = Solution() nums = [6, 4, 2, 9, 4, 2, 2, 9, 9, 9] print(ob.solve(nums))
อินพุต
[6, 4, 2, 9, 4, 2, 2, 9, 9, 9]
ผลลัพธ์
True