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

โปรแกรมหาผลรวม Unique Elements ใน Python

โจทย์

มีอาร์เรย์ nums มีค่าซ้ำและค่า Unique ต้องการหาผลรวมของค่าที่เป็น Unique เท่านั้น (ปรากฏ 1 ครั้ง)

ตัวอย่าง: nums = [5,2,1,5,3,1,3,8] → Unique: 2, 8 → ผลรวม = 10

อัลกอริธึม

  1. นับความถี่แต่ละค่าด้วย Counter
  2. วนลูปค่าที่ Frequency = 1 รวมกัน

โค้ด Python


from collections import Counter

def solve(nums):
    count = Counter(nums)
    ans = 0
    for index, value in enumerate(nums):
        if count[value] == 1:
            ans += value
    return ans

nums = [5,2,1,5,3,1,3,8]
print(solve(nums))  # Output: 10

Input / Output

Input:  [5,2,1,5,3,1,3,8]
Output: 10