2 Sum Problem | 2 types of the same problem for Interviews | Brute-Better-Optimal
HTML-код
- Опубликовано: 22 авг 2024
- Notes/C++/Java/Python codes: takeuforward.o...
Problem links.
2 Sum: bit.ly/3Iu7zMu
We have solved the problem, and we have gone from brute force and ended with the most optimal solution.
Full Course: bit.ly/tufA2ZYt
You can follow me across social media, all my handles are below:
Linkedin/Instagram/Telegram: linktr.ee/take...
0:00 Introduction of course
Let's march ahead, and create an unmatchable DSA course! ❤
Timestamps pleaseeee
Use the problem links in the description.
0.45 - BRUTE SOL
5.13 - BETTER APPROACH (USING HASHING)
11.55 - OPTIMAL APPROACH (USING 2 POINTER)
0.45
BRUTE
5.13
BETTER
11.55
OPTIMAL
@take U forward : Hi Striver Bhaiya , I love your video , I am learning alot from you , just want to highlight in SDE sheet for this problem it's redirecting to some other question (i.e Find all pairs with a given sum) ,but it's similiar to 2sum approach only :)
it does not work on tc=-3,-2,2,3,3 any please help me out in this
@@RamanKumar-er8ie what is the target?
Bro, I am a guy from Africa you are the first person in this tech community that inspires me that I can do it..
Hats off for you bro 🔥🔥🔥
Bro ,I need some tips to increase my 🍆?
That's a complement to whole country..!!
no@@kulkarnisoham
yes my boy, you can do it lets gooooo !!!!
Thank you from India on behalf of Striver 😂
I can’t thank enough because you teach so well about the concepts of DSA compared to others. None of the paid resources out there have good content. All I can say is May God bless you with long life and happiness. You are making all of us to land in our dream job.
i got rejected from an interviwew on 29th , because of dsa it was for 18lpa and remote , but i promise the very next interview i have for dsa i will crack it and i will learn all concepts only from this channel
Keep it up comeback and comment after you crack it🤜🤛
Hua kya
@@ravikr3463 bhai trees puch lie 🥲 mai 4 saal se Sirf dev kar raha hu frontend react back end node and express db MySQL
Same thing bro. Scared to sit for placements because of DSA. But I'm sure after finishing Striver's Sheet, every problem will be a piece of cake.
I've just got in 2nd yr and done nothing till now. Any tip for me 🙏
00:06 The video covers the 'two sum problem' and its two varieties.
02:04 Two sum problem can be solved using brute force method
04:05 Optimizing 2 Sum problem using a better solution
06:08 Using hashing to easily retrieve elements from a data structure.
08:13 Find the indexes of two elements in an array
10:30 Two pointer approach is a slightly better solution to solve the problem without using a map data structure.
12:38 Using the two-sum problem to find pairs that add up to a given target
14:51 The time complexity of the algorithm is O(n)
16:49 Space complexity and array manipulation explanation
@takeUforward
@takeUforward
We need more problem solving videos. Explanation is super. I have gone through a few channels but this is the best! Thank you so much.❤️
This is the consistency we need from you bhai! 🔥
He is just insane🔥
Man you have changed a lot, this new version feels like a super saiyan mode.
Haha, experience :)
bhaiya you're so much doing for us, even you live alone in Poland, you sacrifice your time for you and I understand every thing you teach as you are so good in explaining and making people understand. once again thanks a lot for this
When he introduced two pointer method my mind was like 🤯💥 Thank you striver!!!
Understood! Thanks a billion for your top-notch explaination brother!
Man after watching the first 5 videos and solving the problems on my own , I was also able to solve almost all medium and some hard problems. Watching these videos really built my logic , these lectures are a gold mine.
I didn't think about hashing but you mentioned it, I quickly coded it and got the answer. Now I just have to think of these approaches quickly
Yes even i can solve any problem using brute force approach for better & optimal i have to think....i m sure till the course end i will able to improve my solving skills..i belive ❤
Raj, Thanks a lot for This Amazing Video about C++ Arrays
Video - 5 Completed ✅
GREAT BHAIYA I buy multiple dsa courses but i only understand with ur lectures
🤗🤗
this 5-star add is just crazy!!
Done this video. Amazing explanation. Learning amazing. Growing amazingly.
goddamn, maybe it was the first time, I understood the approach from the video and coded it on my own and got it accepted. God complex bruhh
2 pointer approach was very beautiful
🎯 Key Takeaways for quick navigation:
00:45 📚 *The video is part of the Striver's A to Z DSA course, covering comprehensive content with a guarantee of deep understanding in DS algo for interviews worldwide.*
01:12 🎯 *The Two Sum problem has two varieties: one asks for a yes or no if a pair with the given sum exists, and the other requires returning the indices of the pair.*
02:50 🧠 *The initial Brute Force solution involves nested loops to check every pair's sum.*
05:24 ⏩ *The improved solution uses hashing, mapping array elements to their indices, reducing time complexity to O(n).*
09:17 🚀 *The optimal approach, sorting the array and using two pointers, achieves O(n log n) time complexity without extra space.*
15:16 🔄 *The space complexity for the two-pointer approach is O(1), considering no additional space is used.*
17:50 📂 *Code for all three approaches (Brute Force, Hashing, Two-Pointer) is available in C++, Java, and Python in the video description.*
Made with HARPA AI
Understood ! This is the first ques of my challenge 😃
Bhaiya thanks for understanding from the student perspective. You are doing a really great job. Looking forward to the other problem solving videos from you. Good luck!
Brute -> Better > Optimal = BEST👌
Understood, Thank you strivers for this amazing video.
Thankss bhaiya for this consistency ❤️🙌
My placement is coming soon I'm in 6th semester!!🙂
me too, can we connect on linkedin?
Hello bhaiya how was it?
I'm here at 3rd sem 🤔
Hey!
Do you get the placements or how was your experience?
I am actually preparing for my placements,now im btech 3 rd yr and i wanted someone who says from the scratch with the bestttttttt explanation.........thankyou soo muchh bro...i will follow each and every video of urs and i hope i can crack it....!!!
You are Great Sir! I love your explanation !!
Understood 🎉
40 lakh
Thanks a lot, very clear explanation
10:36
mpp.insert({nums[i], i}); is more optimised than
mpp[num] = i; (used in video)
Job ke saath saath Padhana koi inse sikhe..🙌🙌
Understood!!!...Great as always. :)
Understood! Super awesome explanation as always, thank you very very much for your effort!!
int main() {int n=3;
int array[3]={3,2,4}; int target=6;
for(int i=0; i
Awesome explanation, thanks a lot
Hey Striver I am from Jupiter... I love your DSA playlist
Top notch 🤩. Understood
Hats off to you striver bro
understood. Thank youuuu
HE just killed it as it says🤗
Understood
Thank You :-)
Understood. Very clear explanation
Thanks sir for provide us this type of content ❤❤❤
in the brute force approach you should have initialized j=i+1;
understood everything Thanks a lot sir!
understood sir
solve in python
$$$
x=list(map(int,input().split()))
x.sort()
y=int(input())
for i in range(y):
a=(y-x[i])
if (a in x):
p=x.index(a)
print(i,p)
break
else:
continue
time complexity 0(n)
Understood! great explanation
understood everything .... thanks striver
Using unordered_map we can do it in O(n) and even if we use ordered map we can do it in O(n*logn) and for two pointer approach we are sorting first so it is taking O(n*logn) so how is that optimal approach?
Two pointer approach is not that much optimal approach, but it is used when we want to find the answer without "map" data structure.
understood brother💞
understood bhaiya! really well explained..
Thanks to you for the video Sir .
Had a query : In Type 2 of the problem , why do we need the extra Data structure for the indices ? Because I think "left" and "right" these should be giving us the indices of the 2 numbers whose sum equals to the target .
Aftet sorting indices are changed
@@aashishomre1624 bhai return hum curly braces ma kyu nahi kar sakta hai
Bcoz return type function ka vector hai {-1,-1} indicating no pair found
vector vect{ 10, 20, 30 }; this syntax is used
3:33 here you can keep j=i+1 instead of 0 so you don' need to write i==j
Understood ❤
Completed 5/28!!!
Understood. Thanks a lot. Make More videos please......
you jus make things easier..
The question is to find the indices of the elements which on adding give us the target value. In the last part of video, where we need to find the solution in O(1) space, we sort the array and hence lose the indices of input array. So how can we return the indices of elements then ?
1.Understood
Pls make videos on sliding windows types questions and the types
Yes
Understood !
// Two Sum in Java using HashMap TC --> O(N)
import java.util.*;
class HelloWorld {
static int[] twoSum(int arr[] , int target)
{
HashMap map = new HashMap();
for(int i=0;i
Great job. Thanks.
Understood Everything Striver:)
As usual you rock as you explain 🔥
Hey Raj, what if the array has duplicate elements
for example,
arr = [2,3,5,1,2] and target = 4
Will hashing work for this case too?.................Because hashmap has unique keys
Yes it will work beacuse we will check if the target - curr is present in the hashmap before putting the curr in map , So if the curr elem is duplicate of some element that is previiously present, we wont have to worry coz we are checking before inserting .
@@ayushmittal9666 Understood thanks
Understood;
understood bhaiya. u r best
Understood. Thank you.
Thank u soo much Dada, u r the real inspiration. Respect++;
Understood bro.. thank you
Take a look at my solution.. with time complexity O(n) and space complexity O(1)..
int n=nums.size();
int i=0,j=1;
while(j
12:36
sorting the array itself will take O(n*n)
then another O(n) for the 2 pointer traverssal whick adds up to O(n*n) ruining the whole point of optimisation !
No bro when we sort using bubble sort or selection sort or insertion sort we will get O(n*2) but if we use MERGE SORT or QUICK SORT we will end up with O(N*log(N)) that’s what he is saying to do
But in this question we need to use only QUICK SORT but not MERGE SORT becoz MERGE SORT space complexity is O(N) but for Quick Sort it is O(1)
And you can see him saying it at 16:51
Got the same doubt
@@venkatesh_kensyou cleared it thanks❤
The Last Optimal Solution of Sorting an array and using two pointer technique will be difficult to use if Array is not Sorted and I have been told to return index of the pairs.
i got an small logic striver not so optimal
for(int i = 0; i < nums.length; i++) {
for(int j = i + 1; j < nums.length; j++) {
if(target-(nums[i]+nums[j])==0){
return new int[]{i,j};
array:[8,4,6,12[ }
ex: target =14
14-(8+4)=!0x
14-(8+6)=0 true so we wil return the indexes
I did not understand why you did mpp[a]=i at the last in the type-1 problem
I have to do clap for your optimal solution
Thanks a lot
Best explanation
understood ,thank you
Understood bhaiya 🙏 ❤️
understand fully...😄
it does not work on tc=-3,-2,2,3,3 any please help me out in this
understood !!
thank you
thank you anna
thanks bro that was perfect
For the 2 pointer approach, if we are sorting the array it is changing the original indexex. So, it is giving a error in LeetCode.
for optimal solution why cant we return the pointer values as indexs ?? for variety 2
because after sorting the array indexes are changed
As usual lovely.
striver bhaiya, thank you so much!!
Understood
Samaj aa gaya!!
Understood💌
Amazing bro!
Understood : )
lets go!!
Which year are u guys in?
best explaination
Understood 🔥
Striver OP🔥🔥🔥🔥
understood
bhaiya Third approach will not be apply if we return index of both element because if we do sort the element then automatically element indexes will be changed...
Understood 😅