4 Sum | Brute - Better - Optimal with Codes

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 ก.ค. 2024
  • Problem Link: bit.ly/3It5SyP
    Notes/C++/Java/Python codes: takeuforward.org/data-structu...
    We have solved the problem, and we have gone from brute force and ended with the most optimal solution. Every approach's code has been written in the video itself. Also, we have covered the algorithm with intuition.
    Full Course: bit.ly/tufA2ZYt
    You can follow me across social media, all my handles are below:
    Linkedin/Instagram/Telegram: linktr.ee/takeUforward
    0:00 Introduction of Course
    00:54 Problem Statement
    02:24 Brute force approach
    03:08 Code
    05:38 Complexity
    06:14 Better approach
    11:31 Code
    13:22 Complexity
    14:54 Optimal approach
    21:59 Code
    27:04 Complexity

ความคิดเห็น • 258

  • @takeUforward
    @takeUforward  10 หลายเดือนก่อน +12

    Please watch our new video on the same topic: th-cam.com/video/eD95WRfh81c/w-d-xo.html

    • @uniqueyuvrajgaming3392
      @uniqueyuvrajgaming3392 6 หลายเดือนก่อน

      You said it is O(n3) but sorting will take some time to what about that?

    • @vaibhavagarwal1479
      @vaibhavagarwal1479 5 หลายเดือนก่อน

      ​@@uniqueyuvrajgaming3392nlog n is basically negligible in comparision of n3 thats why is it not included

    • @user-hb2ex3wg9k
      @user-hb2ex3wg9k หลายเดือนก่อน

      Sir,I have one confusion about the time complexity.
      Inside the innermost loop we have the insert operation in set which take O(logN) in the worst case considering we have n elements inside the side.
      If we are taking the worst case means that the if(sum==target) is true for each condition.Then Why we are not considering it's complexity.
      According to my calculation,Time Complexity is O(N^3(logN)).
      Please sir reply.
      Thank you in Advance.

    • @user-hb2ex3wg9k
      @user-hb2ex3wg9k หลายเดือนก่อน +1

      @@uniqueyuvrajgaming3392 Sorting will have always 4 elements which will take constant time.

  • @shailesh_rajpurohit
    @shailesh_rajpurohit ปีที่แล้ว +158

    Note: 0:42 Make sure you watch the 3Sum before doing the 4Sum .
    🙂

    • @TrashAccount-ye3ul
      @TrashAccount-ye3ul 10 หลายเดือนก่อน +14

      What if I have seen since a long ago, will it work ?🙃 But why he was laughing while saying this ?

    • @nikhilKumar-xv4mt
      @nikhilKumar-xv4mt 9 หลายเดือนก่อน +1

      😂😂

    • @kanhiyasharma3648
      @kanhiyasharma3648 6 หลายเดือนก่อน +2

      naughty audience😂😂😂😂

    • @MandeepSingh-rr8kk
      @MandeepSingh-rr8kk 2 หลายเดือนก่อน

      ok 🙂

  • @yashsharma6396
    @yashsharma6396 ปีที่แล้ว +174

    Excited to do 4sum after completing 3sum yesterday

    • @gareer2436
      @gareer2436 ปีที่แล้ว +38

      Damn bro include me next time

    • @yashsharma6396
      @yashsharma6396 ปีที่แล้ว +33

      ​@@gareer2436 you know how to bend?😂😂

    • @gregorirasputin659
      @gregorirasputin659 ปีที่แล้ว +22

      Yaar tum log bohat tharki ho 😂

    • @gareer2436
      @gareer2436 ปีที่แล้ว

      @@yashsharma6396 no but I know what to do when someone bends...😏
      Lay them down and..
      Massage their backs of course!

    • @gareer2436
      @gareer2436 ปีที่แล้ว +14

      @@gregorirasputin659 ma to sath me problem solve krne ki baat kr raha tha bro... tum kya soch liye?😏

  • @impalash_ag
    @impalash_ag 20 วันที่ผ่านมา +5

    Hi Raj, there are 2 slight mistakes in your optimal solution.
    1: The 1st for loop will run till n-3 and 2nd for loop will run till n-2 instead of n, because we need to allocate last 2 elements to our two pointers and as per your code when i=n-2, j becomes n-1 (j=i+1=n-2+1) and num[k] throws out of bound exception, because k becomes n(k=j+1)
    2: We could also increment low and decrement high when sumtarget respectively until there are duplicates for code to be more optimised.
    3: Here's the more readable code(JAVA):
    class Solution {
    public List fourSum(int[] nums, int target) {
    int n = nums.length;
    List result = new ArrayList();
    Arrays.sort(nums);
    for(int i=0; i

    • @_Arunvfx
      @_Arunvfx 20 วันที่ผ่านมา +4

      hatsoff bro i was confused for 4 hours for optimal solution that passes all test cases.after seeing your comment it helped me to understand it.thankyou :)

    • @impalash_ag
      @impalash_ag 20 วันที่ผ่านมา +3

      @@_Arunvfx glad you finally understood it. Keep pushing forward 😃

  • @jatinsareen7771
    @jatinsareen7771 ปีที่แล้ว +63

    3 sum was awesome, 4 sum was fantastic!!!!

  • @ashishashish1403
    @ashishashish1403 หลายเดือนก่อน +6

    Whole video is about 4 sum but 0:40 to 0:50 is wholesome

  • @Akash-yr2if
    @Akash-yr2if ปีที่แล้ว +32

    0:44 Striver's Smile Says it all

    • @brijmohan_f_s
      @brijmohan_f_s ปีที่แล้ว +1

      you got my point bro😁

    • @AkOp-bf9vm
      @AkOp-bf9vm หลายเดือนก่อน

      bhai bhai🫡🫡😂. what a detailing bro

  • @shubhrajyotipoddar1684
    @shubhrajyotipoddar1684 ปีที่แล้ว +5

    bro couldn't control his laugh during 3sum , 4sum intro and had to cut the clip 🤣

  • @takeUforward
    @takeUforward  ปีที่แล้ว +63

    Do give us a like and subscribe, it won't cost you anything, but it will highly motivate us to create more such type of videos :)

    • @rishav144
      @rishav144 ปีที่แล้ว +4

      striver ..king of DSA

    • @shra1
      @shra1 ปีที่แล้ว

      The if condition inside while to check if(k

    • @codemania2878
      @codemania2878 11 หลายเดือนก่อน

      sir which whiteboard pen app you use for explain the code

    • @itsmrcrazy7670
      @itsmrcrazy7670 11 หลายเดือนก่อน

      hey striver you forgot to add time complexity required for --sorting array --optimal approach so it will be O(NlogN) + O(N^2). plz update

    • @user-lz1rv3em5u
      @user-lz1rv3em5u 11 หลายเดือนก่อน

      @@codemania2878 He is using an iPad and its default Notes app​

  • @arujgarg7267
    @arujgarg7267 ปีที่แล้ว +39

    Finally did 4 sum, amazing experience

    • @gareer2436
      @gareer2436 ปีที่แล้ว +10

      Can you elaborate your experience? Asking for a friend

    • @catalyst8654
      @catalyst8654 ปีที่แล้ว +1

      can you explain about your experience...🙂🙂

    • @leisuretime4198
      @leisuretime4198 ปีที่แล้ว

      @@catalyst8654 🤣🤣

    • @Akash-yr2if
      @Akash-yr2if ปีที่แล้ว +1

      Would you take a moment to share your experience with us.

  • @selvaarumugam370
    @selvaarumugam370 ปีที่แล้ว +8

    the way you explain the two pointer approaches and the use of them makes two pointer approach the easiest way to solve a problem. I fell in love the way you are teaching these concepts.

  • @mehulthuletiya497
    @mehulthuletiya497 ปีที่แล้ว +32

    00:54 Problem Statement
    02:24 Brute force approach
    03:08 Code
    05:38 Complexity
    06:14 Better approach
    11:31 Code
    13:22 Complexity
    14:54 Optimal approach
    21:59 Code
    27:04 Complexity

    • @takeUforward
      @takeUforward  ปีที่แล้ว +39

      You watch all the videos? I see you daily updating me with timestamps, massive thanks for that.

    • @mehulthuletiya497
      @mehulthuletiya497 ปีที่แล้ว +22

      ​​@@takeUforward Yes, I watch the all the videos. After the watching video i comment the Timestamp.
      Recursion and Backtracking series is the one of the best explanation and understanding with your teaching style. I completed 2 days ago.

    • @salihedneer8975
      @salihedneer8975 10 หลายเดือนก่อน +1

      @@takeUforward striver please update timestamp in disucssion so that ppl can access it easily

  • @avinashkumar2411
    @avinashkumar2411 ปีที่แล้ว +7

    You should not take I upto

  • @bkmeher9005
    @bkmeher9005 หลายเดือนก่อน

    uffffffff.... understood , bahut bhala se bujhi hela bhai

  • @praveennemagoudar3442
    @praveennemagoudar3442 3 หลายเดือนก่อน +1

    wow,....wow....wah..awesome expaination. undestood bro..hatsoff to you.

  • @hareshnayak7302
    @hareshnayak7302 4 หลายเดือนก่อน +1

    Understood,Thanks striver for this amazing video.

  • @kanyapandey
    @kanyapandey ปีที่แล้ว

    Thanks a ton for explaining in simplest way 🙏🙏🙏🙏🙏🙏

  • @ra-onegaming1383
    @ra-onegaming1383 ปีที่แล้ว

    I have done this question using subsequence technique thanks u raj sir 😊 u teach really simple

  • @dishankbaid05
    @dishankbaid05 ปีที่แล้ว +33

    The consistency level of striver is really the source of motivation 🔥.

  • @helloworld2054
    @helloworld2054 10 หลายเดือนก่อน +8

    This has to be the horniest coding problem 🌚

  • @nquanta1548
    @nquanta1548 ปีที่แล้ว

    Thankyou for the wonderful series ❤️🔥

  • @AniketKumar-hf2bo
    @AniketKumar-hf2bo 5 หลายเดือนก่อน

    understood,thnx for the amazing video ❤❤❤❤👌👌💕💕

  • @AbhishekKumar-cv1dh
    @AbhishekKumar-cv1dh ปีที่แล้ว

    Understood beautifully!! 🔥❤

  • @joeljacob4685
    @joeljacob4685 10 หลายเดือนก่อน

    Understood!! Thanks for the nice explanation

  • @sarangkumarsingh7901
    @sarangkumarsingh7901 4 หลายเดือนก่อน

    Awesome Lecture Sir............

  • @adebisisheriff159
    @adebisisheriff159 7 หลายเดือนก่อน

    Striver..... you are amazing.................................... Thanks so much bro

  • @footballcreativeeverywhere260
    @footballcreativeeverywhere260 ปีที่แล้ว +1

    Great bhaiya ❤️🇮🇳 , ready for next one

  • @cinime
    @cinime ปีที่แล้ว +1

    Understood! Super wonderful explanation as always, thank you so so much for your effort!!

  • @MdKaif-bf3nz
    @MdKaif-bf3nz หลายเดือนก่อน +1

    Thank you so much Striver brother, you taught the 3sum and 4sum very clearly. 💀💀
    ok jokes apart lol, this series is just too good, i can literally find every concept DSA related a lot of questions of each and every concept.

  • @gauravsoni5424
    @gauravsoni5424 6 หลายเดือนก่อน

    best explanation on you tube

  • @shivanichaudhary1427
    @shivanichaudhary1427 4 หลายเดือนก่อน

    Amazing, thankyou!

  • @THUNDER-kw3wq
    @THUNDER-kw3wq 8 วันที่ผ่านมา

    Striverr bhai ke liye toh 10some bhi asaan hai...Jokes apart hes the best teacher on youtube

  • @satheeshbhukya9970
    @satheeshbhukya9970 9 หลายเดือนก่อน

    excellent question....

  • @bikramprajapati5358
    @bikramprajapati5358 ปีที่แล้ว

    Amazing Explanation

  • @AbhimanyuKumar-pw3je
    @AbhimanyuKumar-pw3je 9 หลายเดือนก่อน +3

    if u are stuck at test case 281 in leet code then :-
    class Solution {
    public:
    vector fourSum(vector& nums, int target) {
    int n =nums.size();
    vector ans;
    sort(nums.begin(),nums.end());
    for(auto it:nums)
    cout

  • @konankikeerthi
    @konankikeerthi หลายเดือนก่อน

    Thank you bro. Understood

  • @subhamcoder
    @subhamcoder ปีที่แล้ว +3

    Sir app apne resume k project me konsa tech stack use kya haii. ❤ love your videos

  • @203-aasritha2
    @203-aasritha2 5 หลายเดือนก่อน

    We should consider the time complexity for sorting the given array right ?

  • @DR-mq1le
    @DR-mq1le 11 หลายเดือนก่อน

    understood , thank you!

  • @user-nb1ye5tf1r
    @user-nb1ye5tf1r 6 หลายเดือนก่อน

    Nice to do 4 sum.

  • @tanishagarwal5992
    @tanishagarwal5992 6 หลายเดือนก่อน

    When striver submits on Code Studio , it also showed him time complexity as O(n4 log n) but it doesn't show in mine. Why?

  • @VishalGupta-xw2rp
    @VishalGupta-xw2rp 10 หลายเดือนก่อน +4

    After doing 4 Sum.... I think Sky is the limit 🌝

  • @UECAshutoshKumar
    @UECAshutoshKumar หลายเดือนก่อน

    Thank you!

  • @himanshukaushik9223
    @himanshukaushik9223 ปีที่แล้ว +1

    Bhaiya is everything fine any health issues video is not coming ??

  • @AkshayYadaveeb
    @AkshayYadaveeb 3 หลายเดือนก่อน

    while i'm taking sum==target case in else it is not working like we did in three sum and if i put if(sum==target) at initial position it is working . why it is so ?

  • @satyamsrivastava3423
    @satyamsrivastava3423 3 หลายเดือนก่อน

    Just wanted to add the Time Complexity will also contain log(n) since we are sorting the array, right?

  • @gregorirasputin659
    @gregorirasputin659 ปีที่แล้ว +6

    Nice explanation. But the title is a bit too sus don't you think?

  • @ankitadas5833
    @ankitadas5833 ปีที่แล้ว +2

    Though I am little bit late, in this A to Z DSA Playlist But I covered All previous Videos within a week & now just completed 4 Sum. Striver Sir You are great! You will going to create a history in DSA course very soon around all over the World … I don't have the proper words to express my gratitude to you. All the Best Sir God bless you .

    • @ankitadas5833
      @ankitadas5833 ปีที่แล้ว

      @@ArjunS-hi3vl Yes

    • @DR-mq1le
      @DR-mq1le 11 หลายเดือนก่อน

      have you completed the course ? im also quite late in starting the course and moving at about the same pace as you

    • @ankitsharda1131
      @ankitsharda1131 9 หลายเดือนก่อน

      @ankitadas5833 hey I would like to know if you have completed entire striver a2z dsa course? If yes, how much time did you take to complete entire course?

  • @asgarh4589
    @asgarh4589 ปีที่แล้ว

    People who are aware of 2 pointer approach, watch from 14:56, saves a lot of time.

  • @Shivi32590
    @Shivi32590 14 วันที่ผ่านมา

    thank you

  • @chathuryachenchupalli6535
    @chathuryachenchupalli6535 ปีที่แล้ว

    Hi sir
    We request you
    Can you please make a video on Alex goes Shopping problem. We cannot understand the question.

  • @hydrocy.9165
    @hydrocy.9165 3 หลายเดือนก่อน

    23:16 shouldnt j= i+1 will be second element? I cant understand

  • @ravitejachandana6199
    @ravitejachandana6199 หลายเดือนก่อน

    understood !

  • @myaccount09011975
    @myaccount09011975 14 วันที่ผ่านมา

    What about Time complexity for sorting the arrray? I know it will be lesser than N3 in this case. But still good to mention that!. Thanks for putting all the hard word!.

  • @raghavkansal3765
    @raghavkansal3765 ปีที่แล้ว

    you are the best 🧿🧿

  • @saurabhtamta7295
    @saurabhtamta7295 4 หลายเดือนก่อน +1

    why is it when i use:-
    long long sum = nums[i]+nums[j]+nums[k]+nums[l]
    -----it says runtime error but when i use :-
    long long sum = nums[i];
    sum+=nums[j];
    sum+=nums[k];
    sum+=nums[l];
    ----it works fine. Why is that?

  • @jayanthvanamamala1425
    @jayanthvanamamala1425 ปีที่แล้ว

    Bhaiya , Can uh please post an article about k sum similiar to this type , which is applicable for all k sums . It can help to build intution!!!!

  • @senseiAree
    @senseiAree 10 หลายเดือนก่อน

    Understood ❤

  • @gugulothsrilakshmi8729
    @gugulothsrilakshmi8729 9 หลายเดือนก่อน

    Why removing duplicates I'm not getting the concept in 3 sum problem too in optimal solution

  • @omkarsawant9267
    @omkarsawant9267 6 หลายเดือนก่อน +1

    Time Complexity: O(n log n)
    Space Complexity: O(n)
    #include
    #include
    #include
    using namespace std;
    vector fourSum(vector &nums, int target)
    {
    // sort the array
    sort(nums.begin(), nums.end());
    // initialize result vector
    vector result;
    int n = nums.size();
    // iterate through array with two pointers
    for (int i = 0; i < n; i++)
    {
    // skip duplicate elements
    if (i > 0 && nums[i] == nums[i - 1])
    {
    continue;
    }
    for (int j = i + 1; j < n - 2; j++)
    {
    // skip duplicate elements
    if (j > i + 1 && nums[j] == nums[j - 1])
    {
    continue;
    }
    // use two pointers for remaining elements
    int left = j + 1;
    int right = n - 1;
    while (left < right)
    {
    int currentSum = nums[i] + nums[j] + nums[left] + nums[right];
    if (currentSum == target)
    {
    result.push_back({nums[i], nums[j], nums[left], nums[right]});

    // skip duplicate elements
    while (left < right && nums[left] == nums[left + 1])
    {
    left++;
    }
    while (left < right && nums[right] == nums[right - 1])
    {
    right--;
    }
    // Move pointers
    left++;
    right--;
    }
    else if (currentSum < target)
    {
    // If the sum is less than the target, move the left pointer to the right
    left++;
    }
    else
    {
    // If the sum is greater than the target, move the right pointer to the left
    right--;
    }
    }
    }
    }
    return result;
    }
    int main()
    {
    // Example usage
    vector nums = {1, 0, -1, 0, -2, 2};
    int target = 0;
    // Call the fourSum function
    vector result = fourSum(nums, target);
    // Print the unique quadruplets
    for (const auto &quadruplet : result)
    {
    cout

    • @akashchoudhary6876
      @akashchoudhary6876 15 วันที่ผ่านมา

      kuch bhi, same solution hai upar wala time complexity n3 hai, apki nlogn kaise aa gayi

    • @omkarsawant9267
      @omkarsawant9267 15 วันที่ผ่านมา

      @@akashchoudhary6876 the overall time complexity of the fourSum function is O(nlog⁡n+n^3)which simplifies to O(n^3)in Big O notation, assuming the input is sufficiently large.

    • @omkarsawant9267
      @omkarsawant9267 15 วันที่ผ่านมา

      @@akashchoudhary6876 sorting in cpp will take O(nlogn)

  • @hemantpatel1413
    @hemantpatel1413 หลายเดือนก่อน

    Understood.

  • @hiteshpanchal5772
    @hiteshpanchal5772 11 หลายเดือนก่อน

    Thxu striver bhai 😊😊

  • @Manishgupta200
    @Manishgupta200 ปีที่แล้ว +7

    It's amazing from brute to better to optimal similarly like 2Sum, 3Sum .. and my doubts in what's about 5-Sum, 6-Sum.. is any universal solution exist?

    • @harshshukla7675
      @harshshukla7675 ปีที่แล้ว

      Yes, the complexity will keep on increasing tho

  • @simonchristopherp3260
    @simonchristopherp3260 4 หลายเดือนก่อน

    Understood!

  • @Str13011
    @Str13011 ปีที่แล้ว

    Keep going 👍

  • @user-sm7zo5zd9t
    @user-sm7zo5zd9t 5 หลายเดือนก่อน

    Understood🤙

  • @anupamkhare7041
    @anupamkhare7041 ปีที่แล้ว

    is this the end..or more videos will come....I'm about to start this course.

  • @lakshmiprasanna7058
    @lakshmiprasanna7058 ปีที่แล้ว

    Understood 💯💯💯

  • @VishalPanwar-df5ek
    @VishalPanwar-df5ek ปีที่แล้ว

    Understood Srtiver!

  • @per.seus._
    @per.seus._ 11 หลายเดือนก่อน +1

    understood ❤

  • @SunnyKumar-dw9ze
    @SunnyKumar-dw9ze ปีที่แล้ว

    Tree ka v new playlist aayega kya...

  • @Sachin_mry
    @Sachin_mry ปีที่แล้ว

    bhiya unique no of occurences ka que bina set and hashmap ke kara dijiye.
    ekdum samjh nahi aata ye que

  • @user-mk3jx1bs2g
    @user-mk3jx1bs2g 5 หลายเดือนก่อน +1

    in the brute force approach when we first added nums[i]+nums[k]+nums[k]+nums[l] and then checked if its == target then it gives integer overflow error regardless of sum being stored in long long variable but if we do it one by one like sum = nums[i]+nums[j] and then sum+=nums[k] and sum+=nums[l] then the error is resolved can anyone please explain to me how its working.

    • @EC20022ELAKKIYAC
      @EC20022ELAKKIYAC 5 หลายเดือนก่อน

      did you found how does it works ? same doubt here

  • @tejaspatel2212
    @tejaspatel2212 ปีที่แล้ว +7

    Imagine someone getting your video, on Searching 3sum video or 4sum video on google 🌚😂

  • @soumiyamuthuraj3516
    @soumiyamuthuraj3516 หลายเดือนก่อน

    Awesome

  • @himaniupadhyay8201
    @himaniupadhyay8201 11 หลายเดือนก่อน +1

    Thanks Lord

  • @user-st9ff2vh6l
    @user-st9ff2vh6l 7 หลายเดือนก่อน

    Understood

  • @nyctophilicenigma2838
    @nyctophilicenigma2838 10 วันที่ผ่านมา

    Can't we sort the whole list initially rather than sorting it again and again in brute force?

  • @rajatpatra2593
    @rajatpatra2593 ปีที่แล้ว

    Understood ❤️

  • @her_soulmate
    @her_soulmate 10 หลายเดือนก่อน

    Understood 🎉

  • @sanayaagarwal1907
    @sanayaagarwal1907 4 หลายเดือนก่อน

    understood👍

  • @RohitKumar-dy2gc
    @RohitKumar-dy2gc 3 หลายเดือนก่อน

    easy peasy✨✨

  • @vagabondfoodie5788
    @vagabondfoodie5788 ปีที่แล้ว +2

    Aaj maza aa gya 3 sum karke🌚🌚🌚 ab 4 sum krunga

  • @rishabgupta2733
    @rishabgupta2733 10 หลายเดือนก่อน

    The complexity of better solution is n^4 *logn according to codestudio

  • @dhairyashiil
    @dhairyashiil ปีที่แล้ว

    Thank You : )

  • @culeforever5408
    @culeforever5408 9 หลายเดือนก่อน +1

    understood ;)

  • @thomasshelby6780
    @thomasshelby6780 ปีที่แล้ว +2

    Tapped into pleasure back to back with 4Sum followed by 3Sum

  • @ayanakash9900
    @ayanakash9900 10 หลายเดือนก่อน +2

    For optimal solution time complexity, we have to add sort() time too ig

  • @srikarvinjamara2003
    @srikarvinjamara2003 7 หลายเดือนก่อน

    Hi, thanks for the video explanation. I had one doubt. When we get the sum==target, we move the k and l pointers front and back respectively [not just once but until we get a different value for k and l pointers so as to not repeat the same ans]. Why are we not doing the same when {sumtarget}. [i.e. in these 2 cases we just do k+=1 or l-=1; shouldn't we here also move the k and l pointers ahead until we get a different value for them.] Please let me know if possible. Thanks!

    • @203-aasritha2
      @203-aasritha2 5 หลายเดือนก่อน +1

      It goes the same as well. If we move the pointer and again we get the same set , the sum will be the same right ? therefor if the sum is less than zero , it remains the same and vice versa. Then the iteration completes and we will hit the same condition. This goes until we get another pair.

  • @user-nk1mb5fy7j
    @user-nk1mb5fy7j ปีที่แล้ว

    UNDERSTOOD

  • @VivekKumar-kx2zf
    @VivekKumar-kx2zf 3 หลายเดือนก่อน

    why we are putting condition while(k

    • @brp3522
      @brp3522 18 วันที่ผ่านมา

      If k crosses l then we have gone through all the possibilities. Imagine this if they crosses each other they will act like each other. After crossing K will give the elements L has already given and the same goes for L

  • @arunmahajan1028
    @arunmahajan1028 8 หลายเดือนก่อน

    After Understanding this concept ,
    I can Say that Sky is the limit..

  • @firebout7675
    @firebout7675 7 หลายเดือนก่อน

    understood

  • @SriramRajaniyer
    @SriramRajaniyer 8 หลายเดือนก่อน

    In the optimal code solution, why are we checking for k against k + 1, It seems to work for :
    arr[k] == arr[k - 1]

    • @dhrumilparmar1505
      @dhrumilparmar1505 6 หลายเดือนก่อน

      this will work but at end. k will have value of last element of (common element sub array) e.g. [1,1,1,0,0,0,0,0,0]// after loop k will be 3 .
      its cleaver trick to break loop and when access k. it will give new value (different from copy elements).
      if we first decrese k(usual procedure of algo. nothing extra done); and then check arr[k] == arr[k + 1] in loop,
      k- - // k=7
      e.g. [1,1,1,0,0,0,0,0,0]
      // after loop breaks, k will be 2

  • @afraztanvir973
    @afraztanvir973 11 หลายเดือนก่อน

    Can we do it using dp will it take less time than n^3 in dp?

    • @dhruvmangroliyaiit-g5559
      @dhruvmangroliyaiit-g5559 7 หลายเดือนก่อน

      ya that include exclude game and if size of temp vector is 4 then push back in ans.

  • @iamnoob7593
    @iamnoob7593 4 หลายเดือนก่อน

    US , THANK U

  • @daminkhan5105
    @daminkhan5105 2 หลายเดือนก่อน

    In the better approach why the code didn't gave runtime error for j and k when i = n - 1, because j = i + 1 and k = j + 1, making j and k going out of bounds of array so it should've thrown the error right?

    • @statuscreation9493
      @statuscreation9493 24 วันที่ผ่านมา

      while starting for loop we also stated j and k should be less than n if it goes out of bound whole loop will end.. so no chance

    • @daminkhan5105
      @daminkhan5105 24 วันที่ผ่านมา

      @@statuscreation9493 ohh got it thankyou bro

  • @D3vansh
    @D3vansh ปีที่แล้ว +11

    I think first i should learn 3SUM then will do 4SUM as you said

    • @takeUforward
      @takeUforward  ปีที่แล้ว +36

      Please learn 2 sum, then 3 sum, then only 4 sum should be implemented ! Yes in terms of problem.

    • @gandhamphotos
      @gandhamphotos ปีที่แล้ว +8

      @@takeUforward 😂😂

    • @shis10
      @shis10 ปีที่แล้ว +3

      @@takeUforward 🤣🤣🤣

    • @godson200
      @godson200 ปีที่แล้ว +8

      @@takeUforward sir but partner is not available how to do 2sum

    • @mohsin7343
      @mohsin7343 ปีที่แล้ว +10

      I am still with 1sum

  • @SiddheshKukade
    @SiddheshKukade ปีที่แล้ว

    thanks

  • @aysams2
    @aysams2 ปีที่แล้ว

    04:20 - what does exceeding the integer limit mean? (when we are storing it in a long long)

    • @takeUforward
      @takeUforward  ปีที่แล้ว +1

      if you store in int it might exceed

    • @SANDEEPKUMAR-in6li
      @SANDEEPKUMAR-in6li ปีที่แล้ว

      @@takeUforward but in 3 sum we sum up like sum = nums[i]+nums[j]+nums[k] but in this 4 sum you sum up all the indices separately which is correct but I am getting error in a test case when I am doing sum = nums[i]+ nums[j]+ nums[k]+ nums[l]; why?

    • @Monika-vs6bw
      @Monika-vs6bw 11 หลายเดือนก่อน

      @@SANDEEPKUMAR-in6li the compiler has an algorithm for adding these numbers . while adding four numbers(big numbers) the algorithm needs a lot of space , but while adding two or three the space is under limit. hence adding them one by one is recomended.