DP 15. Partition Equal Subset Sum | DP on Subsequences

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ม.ค. 2025

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

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

    I need your support, and you can do that by giving me a like, and commenting "understood" if I was able to explain you.
    Keeping a like target of 500 ❤✌🏼

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

      @Striver , can you please a Linked List playlist? This is the most confusing topics for interview preparation i think..

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

      yes i did

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

      khub bhalo striver bhaiya, keep striving harddddd

    • @AshwinHarish-u4t
      @AshwinHarish-u4t ปีที่แล้ว

      Sir I have a doubt. if the first sub problem gives true and second sub problem gives false. Then result will be true since we are not passing the sub problem again to find right sub array is equal or not and also the first sub problem is true so we will give true as answer but the result is false. So it is correct?

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

      Understood

  • @KunalSingh-kn2ij
    @KunalSingh-kn2ij ปีที่แล้ว +51

    Solved this question without watching the video!
    DP was nightmare for me before watching your playlist.
    Thanks Striver.

    • @Gokul-gkl
      @Gokul-gkl หลายเดือนก่อน

      is it?

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

    28% done ...... now i feel confident .. THANKS striver bhaiya for this ..... i pray u will achieve everything u want ..... god will bless u always .... u help student who cant afford courses ....

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

      I hava doubt please help !
      In memoization technique , when to declare a 2d array and when to declare 1d array to store previous answers.
      Like I cannot find out which type of array should I declare .
      Thanks.

    • @M10-r8q7h
      @M10-r8q7h ปีที่แล้ว +3

      @@abdulnafe6442 if there are two variable change in basic recursion like findsum(n-1,k-1) then 2d dp else if there is only one variable change in recursive function like fibonaci(n-1) then 1d dp

    • @23cash86
      @23cash86 ปีที่แล้ว

      @@abdulnafe6442 after writing recursive code, look at all parameters, if values of only 1 parameter(eg.index) keeps changing it is 1d dp, declare 1d array ... if two parameters change (e.g. index,target) then 2d array should be declared.

    • @ok-jg9jb
      @ok-jg9jb ปีที่แล้ว +2

      @@abdulnafe6442 Don't try to write memorization first try to do recursion and see what are the parameters that are changing and make memorization. You will get it

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

    Your video makes the tough one's look so easy. When I started with this problem, I was confused on how to proceed with this. Once, I saw the explanation, got to know that this is a new version of previous question. Thanks!!

  • @guptashashwat
    @guptashashwat ปีที่แล้ว +56

    It is important to check always if(arr[0]

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

      true

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

      @@samualhalder can you explain this condition to me, the prev question worked without with this condition whereas this one won''t

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

      @@utkarshverma3314 so with this condition we are checking that dp[0][arr[0]] is actually present in dp matrix because the size of row is equal to sum and if we do not check this it will go out of bounds and give error'

    • @shibainu7500
      @shibainu7500 8 หลายเดือนก่อน +1

      Yea I was also scratching my head to solve the runtime error until I saw the full video and came to know about this condition.

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

    Great explanation didn't even need to see the whole video just saw the first 3 minutes and I was like it is too easy .

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

    Thanks Striver. Understood.
    I think it is better to take an unordered_map instead of vector. Like this:
    unordered_map prev, curr;
    instead of
    vector prev(k + 1, false), curr(k + 1, false);
    because target value 'k' can be really large and cause lot of space wastage.

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

    understood,mapping of new problem with the problems we have already solved is very much important

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

    you are a gem to the community bro plz continue this trend after following your videos I'm improving logic building the way you teach and the efforts you are keeping are just amazing expecting a like from you :)

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

    Best playlist of DP, that can ever exist anywhere

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

    Understood. Awesome explanation! thought hard but still didn't come up with your logic. You made it so simple.

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

    UNDERSTOOD..............Thank You So Much for this wonderful video...........🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻

  • @Sumit-wy4zp
    @Sumit-wy4zp ปีที่แล้ว +1

    Understood ++;
    Great Explanation .. This is the greatest playlist on Earth.
    Day 152 ..

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

    You have a very long life I picked up my phone after doing some dp question to check if Bhaiya posted video or not and daam immediately i received notification of your video 😍😌sukoon

  • @aseem-b23
    @aseem-b23 ปีที่แล้ว +2

    Understood and thank you so much Striver ❤

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

    without watching this video I have solved the question. easy tha bas sum/2 krna hga. if sum odd return false else subsetsum with sum/2. thank you so much Striver bhaiya

  • @k-AnishChatti
    @k-AnishChatti 2 ปีที่แล้ว +2

    Understood !!!! Finally understanding Subset with DP and now I am able to solve Knapsack at 5AM 😁

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

    Understood !!
    Solved this question without watching the video!

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

    Very well explained brotha! love your content!!!!!

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

    Thanks Striver !!!
    For such wonderful DP series

  • @theclashbegin4002
    @theclashbegin4002 2 ปีที่แล้ว

    Whatever you teach it's just osam .Understood .Thanks for this playlist.

  • @MukeshKumar-cc3uh
    @MukeshKumar-cc3uh 11 หลายเดือนก่อน

    Loving the playlist. "Understood" Sir Striver.❤

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

    Understood bhaiya ❤❤❤
    I solved this question on my own bhaiya 🎉🎉 really happy 😊😊
    And this is only possible is because of u❤❤

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

    Understood 💯💯 Great Explanation. Thank you very much for all you efforts🔥🔥

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

    At 8:33 why using condition if( arr[0] == k ) instead of if(arr[0]

    • @nithish_raina
      @nithish_raina 2 ปีที่แล้ว

      It has to be

    • @Divyendu-by7te
      @Divyendu-by7te ปีที่แล้ว

      @@nithish_raina can you please explain this to me?

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

    bro doing gods work

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

    Understood ❤

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

    understood.....waiting for finish this series as soon as possible

  • @channelname4394
    @channelname4394 3 ปีที่แล้ว

    Best explanation. understood , hope this channel reaches more people

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

    Hey understood.
    One question is: let's say our array was [1,1,2,3] and target = 4.
    In the base condition dp[o][arr[0]] = true. We are checking if(arr[0]

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

      dp[0][arr[0]] means that if you're at index 0 and the target that you have is equal to the value of arr[0] then it's true. It basically tells that when you're at index 0 and if the target is 1 in our case (which is arr[0]) then mark it as true.

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

    understood! Thank you Striver!

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

    understood
    Also, thank you for the song at the end. It's a nice song and has been added to my playlist 😂

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

    understood it very well
    thanks for this amazing DP series

  • @well....7751
    @well....7751 2 ปีที่แล้ว +5

    I got a different recursion logic , although its a bit lengthy. Here each value can be included in subset 1 or in subset 2.So we write recursion for it and try to find wether for any subsets both of their sums are equal or not.

    • @codingachinilgtifirbhikrrh9009
      @codingachinilgtifirbhikrrh9009 2 ปีที่แล้ว

      i also did the same thing but i am not able to memoize it can u tell me what did u do?

    • @vaishnavi9755
      @vaishnavi9755 2 ปีที่แล้ว

      Yes same.. but how to create tabulation for the same any idea on that??

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

      @@vaishnavi9755 You can memoize/tabulate with the help of 3D Dp, dp[index][sum1][sum2], but the constraints are too high, it'll give you memory limit exceeded.

    • @vaishnavi9755
      @vaishnavi9755 2 ปีที่แล้ว

      @@sayakghosh5104 Okay.. Got it.. Thanks for the answer!

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

      i tried using what u said but its giving me runtime and tle .can u help find error
      bool f(int arr[],int n ,int sum1 ,int sum2,vectordp)
      {
      if(n==0)
      {
      return abs(sum1-sum2)==arr[0];
      }
      // pick
      if(dp[n][sum1][sum2]!=-1)
      {
      return dp[n][sum1][sum2];
      }
      bool pick = f(arr,n-1,sum1+arr[n],sum2,dp);
      // not pick
      bool not_pick = f(arr,n-1,sum1,sum2+arr[n],dp);
      return dp[n][sum1][sum2]=(pick || not_pick);
      }

  • @GurshaanpreetSingh-b5p
    @GurshaanpreetSingh-b5p 5 หลายเดือนก่อน

    we have to set cur[arr[0]] instead of prev[arr[0]] , then it will work correctly otherwise it may give wrong answer
    ex -> for 1 ,2,5 where target =4 , it will give true but answer should be false
    Nice video Btw 👍👍

  • @ntgrn-pr5yx
    @ntgrn-pr5yx 2 หลายเดือนก่อน +1

    understood , thank you striver

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

    Understood Bhaiya... Thank you!

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

    "UNDERSTOOD BHAIYA!!"

  • @Amitkumar-yh2uw
    @Amitkumar-yh2uw ปีที่แล้ว +1

    cool content, very crisp and clear (Y)!

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

    solved by just getting hint in the first half thanks bhaiya

  • @earningonlinevip8147
    @earningonlinevip8147 2 ปีที่แล้ว

    understood sir thank you sir i love you sir mzaaaaaaa gya padhke ....ab to lg rha h jaisse dp mere bacche jaisa h

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

    bro able to solve it myself ... with exactly same way u explained .... looks like I started thinking like legend :D hhehehe

  • @AdityaPandey-ek5vq
    @AdityaPandey-ek5vq ปีที่แล้ว +2

    Ban rhe ques 🙏🏻🙏🏻 . Thank you!!!

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

    why we are checking arr[0]

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

      @shauryakumar6372 exactly!! same doubt.

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

      ​@@HammyHuesbecause bottom up approach use kiya hai with space optimisation bro memorization nhi

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

    can we do it if no target was given just equal sum subset

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

    Understood. Thankyou Sir.

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

    understood, Sir!

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

    Thankyou so much Striver

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

    UNDERSTOOD... !
    Thanks striver for the video... :)

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

    understood, amazing explanation.

  • @junaidkhalidi-mw1zs
    @junaidkhalidi-mw1zs ปีที่แล้ว +1

    At end u added a if condition but I think its just :
    if(arr[0]==k)prev[arr[0]]=true .
    It should not be if(arr[0]

  • @katamsreeja6744
    @katamsreeja6744 2 ปีที่แล้ว

    Understood it clearly. Thank you so much.

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

    understood at its peak

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

    man! you are good at DP!

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

    Understood 😃😊

  • @Yoshitha-fq9en
    @Yoshitha-fq9en ปีที่แล้ว +1

    Really Nice

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

    Understoooood ❤❤❤❤❤❤❤❤

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

    @takeUforward
    Striver, your classes are amazing . Please keep on going......💥💥💥💥💥💥.
    I have a doubt like what if array contains arr = [100] ?? ?
    does the above code support above test case?

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

    Striver, can you gather the indices for one valid solution from the tabulated dp table ? As one question is to return a solution subarray?

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

    You are a SUPERHERO 🧡

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

    The question might have been more clear by specifying (S1 U S2 ) = A
    where Si is a subset and A is the original array.

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

      Correct! In the question they've not said that both subset should make up the entire array

  • @varindersingh_
    @varindersingh_ 2 ปีที่แล้ว

    Understood. Thanks for creating the playlist.

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

    What if we have given divide in to K subset ?

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

    how exactly is the condition if(arr[0]

  • @parthib.1555
    @parthib.1555 ปีที่แล้ว +1

    Understood

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

    Understood sirji

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

    Understood!!😄

  • @mypherleetcoder2267
    @mypherleetcoder2267 2 ปีที่แล้ว

    Understood , awssmm Videos (your DP series is LIT !!)

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

    In the current problem, would the arr[i] be greater than the target only if we have negative elements? Since we are obtaining the target by summing the elements up?
    If there are negative elements in the array, the range of target in the defined dp will have to change to 2 * target + 1, correct? And we will need to offset each sum value value by adding target to it to make it within the positive range of [0, 2*target]?

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

    Understood...Completed 15/56

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

    Understood🔥🔥🔥🔥

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

    How to print this sequence ?

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

    8:00 that condition is necessary to pass all test cases for the same question in LeetCode

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

      Not necessary, I have submitted same question on leetcode without this condition.
      Just comment this line
      // if(nums[0]

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

    Thank you so much!

  • @Nitishsharma-y7c
    @Nitishsharma-y7c ปีที่แล้ว

    Understood👍👍

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

    Please make a video on "Partition to K equal Sum subsets"........i can't find any dp solution understandable. Please please please make a video on its dp approach god please. Humble request bhaiya, please. Btw understood 🙏.

  • @himanshuagrawal8012
    @himanshuagrawal8012 2 ปีที่แล้ว

    SAMJH GYA BHAIAYA #UNDERSTOOOOOOOOOOOOOOOOOOOOOOOOOOOODDDDDDDDDDDDDDD

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

    good observation

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

    Understood!

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

    Maan Gaye guru.sticker

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

    1st comment. Luv u bhaiya❤️❤️

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

    I hava doubt please help !
    In memoization technique , when to declare a 2d array and when to declare 1d array to store previous answers.
    Like I cannot find out which type of array should I declare .
    Thanks.

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

    Understood Striver!✌

  • @ratinderpalsingh5909
    @ratinderpalsingh5909 2 ปีที่แล้ว

    Understood, sir. Thank you very much.

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

    Does this work for array with negative values?

  • @SajanKumar-ec2us
    @SajanKumar-ec2us 9 หลายเดือนก่อน

    i did not understood when if a subset is present in array then other equal sum subset will present definitely also discuss is it memoisation problem

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

    kHUB BHALO STRIVER BHAIYA
    STRIVE HARDDDDD

  • @VIJAYSHARMA-dh6vo
    @VIJAYSHARMA-dh6vo 3 หลายเดือนก่อน

    Understood sirrrr

  • @AshishYadav-ql3up
    @AshishYadav-ql3up 6 หลายเดือนก่อน

    loved it

  • @nimmalavishnu3044
    @nimmalavishnu3044 2 ปีที่แล้ว

    You r genius man...U r gem

  • @stuartYoung559
    @stuartYoung559 2 ปีที่แล้ว

    But there may be case that, no. of elements are even but subsets elements are not counting to same.
    eg [6,6,4,4,2,2]
    6+6=12(2 elements) and 4+4+2+2=12(4 elements)
    Plz someone explain.

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

    UNDERSTOOD

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

    Master piece 💥❤️

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

    Understood😀

  • @rishabhagarwal8049
    @rishabhagarwal8049 2 ปีที่แล้ว

    understood Sir Thank you very much

  • @gp7060
    @gp7060 2 ปีที่แล้ว

    Is way of finding subsequence and subset are same pick and not pickup?

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

    understood ❤

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

    understood!

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

    What about arr size is 1. Isn't it an edge case.

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

    Understood sir
    Thank you