สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums และเรามีอีกหมายเลข k เราต้องตรวจสอบว่าตัวเลขสองตัวใดที่อยู่ในรายการรวมกันเป็น k หรือตอนนี้ ห้ามใช้องค์ประกอบเดียวกันสองครั้ง และตัวเลขอาจเป็นลบหรือ 0
ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[45, 18, 9, 13, 12], k =31 ผลลัพธ์จะเป็น True เนื่องจาก 18 + 13 =31
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- temp_set:=ชุดใหม่
- สำหรับแต่ละ num เป็น nums ทำ
- ถ้า num อยู่ใน temp_set แล้ว
- คืนค่า True
- เพิ่ม (k-num) ลงใน temp_set
- ถ้า num อยู่ใน temp_set แล้ว
- คืนค่าเท็จ
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
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))
อินพุต
[45, 18, 9, 13, 12], 31
ผลลัพธ์
True