Giả sử chúng ta có một số mảng với n số nguyên khác nhau. Chúng ta cũng có hai tập hợp A và B. Chúng ta có một tham số hạnh phúc được đặt ban đầu là 0. Chúng tôi đi qua từng số nguyên i trong nums. Nếu tôi ở A thì thêm hạnh phúc thêm 1 và nếu tôi ở B thì giảm đi 1. Cuối cùng chúng ta phải tìm ra giá trị hạnh phúc cuối cùng.
Vì vậy, nếu đầu vào giống như nums =[1,2,5,8,6,3] A ={5,8,9,7,3} B ={2,4,12,15}, thì đầu ra sẽ là 2 vì 5, 8, 3 ở A nên hiện tại hạnh phúc là 3, nhưng 2 ở B nên giảm nó đi 1 thì hạnh phúc là 2.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- hạnh phúc:=0
- đối với mỗi tôi trong nums, hãy thực hiện
- nếu tôi ở A, thì
- hạnh phúc:=hạnh phúc + 1
- nếu không, khi tôi ở B, thì
- hạnh phúc:=hạnh phúc - 1
- nếu tôi ở A, thì
- trả lại hạnh phúc
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau đây để hiểu rõ hơn
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)) Đầu vào
[1,2,5,8,6,3], {5,8,9,7,3}, {2,4,12,15}
Đầu ra
2