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

โปรแกรมตรวจสอบความถี่สมาชิกเป็นเลขคู่ทั้งหมดใน Python

ให้ลิสต์ nums ตรวจสอบว่าทุกตัวเลขปรากฏจำนวนครั้งเป็นเลขคู่ (Constant Space)

ตัวอย่าง: nums=[8,9,9,8,5,5] → True (ทุกตัวปรากฏ 2 ครั้ง)

ขั้นตอน (Sort + Pair Cancel)

  1. ถ้าความยาวคี่: False
  2. เรียง nums
  3. วน i=1..len-1: ถ้า nums[i]==nums[i-1] ตั้งทั้งคู่ = 0
  4. คืน sum(nums)==0

ตัวอย่างโค้ด

def solve(nums):
    if len(nums) & 1:
        return False
    nums.sort()
    for i in range(1, len(nums)):
        if nums[i] == nums[i-1]:
            nums[i] = nums[i-1] = 0
    return sum(nums) == 0

nums = [8, 9, 9, 8, 5, 5]
print(solve(nums))  # Output: True

อินพุต

[8, 9, 9, 8, 5, 5]

เอาต์พุต

True