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

โปรแกรม Python ค้นหาความสุขโดยตรวจสอบการมีส่วนร่วมขององค์ประกอบเป็นชุด


สมมติว่าเรามีจำนวนอาร์เรย์ที่มีจำนวนเต็ม n ตัวต่างกัน เรามีชุดที่ไม่ปะติดปะต่อ A และ B สองชุด เรามีพารามิเตอร์ความสุขหนึ่งชุดซึ่งตั้งค่าเป็น 0 ในตอนแรก เราผ่านแต่ละจำนวนเต็ม i เป็นตัวเลข ถ้าฉันอยู่ใน A ให้เติมความสุขด้วย 1 และถ้าฉันอยู่ใน B ให้ลดลง 1 เราต้องหาค่าความสุขสุดท้ายในที่สุด

ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[1,2,5,8,6,3] A ={5,8,9,7,3} B ={2,4,12,15} แล้วผลลัพธ์ที่ได้ จะเป็น 2 เพราะ 5, 8, 3 อยู่ใน A ดังนั้นความสุขจึงเป็น 3 ตอนนี้ แต่ 2 อยู่ใน B ดังนั้นลดลง 1 แล้วความสุขจึงเป็น 2

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

  • ความสุข :=0
  • สำหรับแต่ละ i ใน nums ทำ
    • ถ้าฉันอยู่ใน A แล้ว
      • ความสุข :=ความสุข + 1
    • มิฉะนั้นเมื่อฉันอยู่ใน B แล้ว
      • ความสุข :=ความสุข - 1
  • คืนความสุข

ตัวอย่าง

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

def solve(nums, A, B):
   happiness = 0
   for i in nums:
      if i in A:
         happiness += 1
      elif i in B:
         happiness -= 1
   return happiness

nums = [1,2,5,8,6,3]
A = {5,8,9,7,3}
B = {2,4,12,15}
print(solve(nums, A, B))

อินพุต

[1,2,5,8,6,3], {5,8,9,7,3}, {2,4,12,15}

ผลลัพธ์

2