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

จำนวนครั้งที่ไม่ซ้ำกันใน Python


สมมุติว่าเรามีอาร์เรย์ เราต้องตรวจสอบว่าแต่ละองค์ประกอบมีจำนวนการเกิดขึ้นไม่ซ้ำกันหรือไม่ หากไม่มีองค์ประกอบดังกล่าว ให้คืนค่าเท็จ มิฉะนั้น เป็นจริง ดังนั้นหากอาร์เรย์เป็นเหมือน [1, 1, 2, 2, 2, 3, 4, 4, 4, 4] ก็จะคืนค่าเป็นจริงเมื่อองค์ประกอบ 1 มีอยู่สองครั้ง 2 มีสามครั้ง 3 คือ ปัจจุบันหนึ่งครั้งและ 4 มีอยู่สี่ครั้ง

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • เราจะหาความถี่ขององค์ประกอบของอาร์เรย์
  • สำหรับคู่คีย์-ค่าแต่ละคู่ในแผนที่ความถี่
    • หากมีค่าอยู่ใน mp อื่นของแผนที่ ให้คืนค่าเท็จ
    • ใส่ mp[value] :=1
  • คืนค่าจริง

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

class Solution(object):
   def uniqueOccurrences(self, arr):
      d = {}
      for i in arr:
         if i not in d:
            d[i] =1
         else:
            d[i]+=1
      l = {}
      for x, y in d.items():
         if y in l:
            return False
         l[y] = 1
      return True
ob1 = Solution()
print(ob1.uniqueOccurrences([1,1,2,2,2,3,4,4,4,4]))

อินพุต

[1,1,2,2,2,3,4,4,4,4]

ผลลัพธ์

true