Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมตรวจสอบการเกิดของทุกค่าไม่ซ้ำกันหรือไม่ใน Python


สมมติว่าเรามีรายการตัวเลข 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