สมมติว่าเรามีอาเรย์ nums ที่มี n จำนวนเต็มต่างกัน เรายังมีเซต A และ B ที่ไม่ซ้อนทับกัน (Disjoint Sets) เรามีพารามิเตอร์ความสุข (Happiness) เริ่มต้นที่ 0 เราไปผ่านแต่ละจำนวน i ใน nums ถ้า 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 ลดเหลือ 2
ขั้นตอนการแก้ปัญหา
- happiness := 0
- สำหรับแต่ละ i ใน nums:
- ถ้า i ใน A: happiness += 1
- ถ้า i ใน B: happiness -= 1
- คืนค่า happiness
ตัวอย่างโค้ด
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