![Trending Articles on Technical and Non Technical topics](/images/trending_categories.jpeg)
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Program to find any two numbers in a list that sums up to k in Python
Suppose we have a list of numbers called nums and we have another number k, we have to check whether any two numbers present in the list add up to k or now. Same elements must not be used twice. And numbers can be negative or 0.
So, if the input is like nums = [45, 18, 9, 13, 12], k = 31, then the output will be True, as 18 + 13 = 31
To solve this, we will follow these steps −
- temp_set:= a new set
- for each num in nums, do
- if num is in temp_set, then
- return True
- add (k-num) into temp_set
- if num is in temp_set, then
- return False
Let us see the following implementation to get better understanding −
Example
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))
Input
[45, 18, 9, 13, 12], 31
Output
True
Advertisements