สมมติว่าเรามีจำนวนอาร์เรย์ที่มีจำนวนเต็ม 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
- ถ้าฉันอยู่ใน A แล้ว
- คืนความสุข
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น
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