Cho danh sách nums và số k, kiểm tra xem có tồn tại hai số khác nhau trong danh sách có tổng bằng k không. Số có thể âm hoặc 0.
Ví dụ, nums = [45, 18, 9, 13, 12], k = 31, đầu ra True vì 18+13=31.
Các bước giải quyết (dùng tập hợp):
temp_set:= tập hợp rỗng.- Duyệt từng
numtrongnums:- Nếu
numtrongtemp_set, trả vềTrue. - Thêm
k - numvàotemp_set.
- Nếu
- Trả về
False.
Ví dụ minh họa
class Solution:
def solve(self, nums, k):
temp_set = set()
for num in nums:
if num in temp_set:
return True
temp_set.add(k - num)
return False
ob = Solution()
nums = [45, 18, 9, 13, 12]
k = 31
print(ob.solve(nums, k))
Đầu vào
[45, 18, 9, 13, 12], 31
Đầu ra
True