BS-13. Minimum days to make M bouquets | Binary Search

Поделиться
HTML-код
  • Опубликовано: 5 окт 2024
  • Problem Link: bit.ly/43ScDRY
    Notes/C++/Java/Python codes: takeuforward.o...
    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/take...
    0:00 Introduction of Course

Комментарии • 227

  • @AyushSharma-sd1ny
    @AyushSharma-sd1ny Год назад +103

    Not a easy problem to understand directly by reading it.. Thanks you have made it very simple.

  • @udaykulkarni5639
    @udaykulkarni5639 6 месяцев назад +77

    5 mins into the video and I knew exactly how to code it up! Cheers man. This guy has some serious skills!

  • @adityarajvermaa
    @adityarajvermaa Год назад +92

    bro literally I coded it down myself...just came here to understand the problem coz it was too complex to understand. Now i can code medium range problems by myself....sooner or later I will be able to understand the problem as well as we code further

    • @danielhaag756
      @danielhaag756 Год назад +8

      Ya I am also facing same problem, I am also not able to understand the problem

    • @samit840
      @samit840 11 месяцев назад

      @@danielhaag756 tell me one thing bro, i watched the video till 4-5 mins, and then i noticed that we would be doing it same way as we did in KOKO bananas, so is it fine that i watched the video till this???

    • @Vivekkumar-zc7mz
      @Vivekkumar-zc7mz 7 месяцев назад

      how much time you takes to reach at that level and what are the hacks u have learnt that helped u ??

    • @pranavJha93
      @pranavJha93 6 месяцев назад

      there is one tip i will give u see there two types of cases either you are able to solve a problem either you are not when when you are not able to solve a problem first make notes of it after watching tutorial of it and then do the same question by yourself after 7 days if u are able to do it in by your own without copying that means u actually grabbed the concept of it and it will also boost your confidence @@Vivekkumar-zc7mz

    • @ranjeet_sohanpal
      @ranjeet_sohanpal 6 месяцев назад +2

      @@Vivekkumar-zc7mz there are no hacks

  • @morty6456
    @morty6456 Год назад +43

    My strategy of following the striver sheet is that at first I try to solve the question myself and if I am unable to then I come to videos for understanding,
    After reading this question on leetcode, I was clueless even about the question itself 1:35 mins into video and I have solved it on my own.
    Is this magic or something? 😅
    Thank you bhaiyaaaaaaaaaaa❤

    • @syedfazil2998
      @syedfazil2998 10 месяцев назад +1

      exact same thing but at 2:15

  • @pulkitjain5159
    @pulkitjain5159 Год назад +40

    currently 259 questions kar liye hai apki sheet ke , dekhte hai aur kitne kar pata hu , quality of questions awesome hai bhaiya , monotnic stacks m aur sliding windows m toh kya tagde question daal rakhe hai every question improves thinking in other direction. Ab bas graphs , greedy , trees , heaps aur strings bach raha hai usme bhi umeed hai bahut shandar questions honge. karta hu bhiaya dekhte hai kab tak khatam hogi , jab binary search kar raha tha tab i really wanted ki yeh videos ajaye but jo khud grind kiya na woh alag hi satisfaction tha. kabhi bhulayega nahi yeh questions , jitna video dekh ke bhool jaate hai. ek video ke peeche itni mehnat hoti hai itni research hoti hai , samajh agya. Waise app thoda rest bhi karliya karo aur jyada soya karo , peace of mind jyada important hai. Thank you for free knowledge 😊.

    • @krishnaramtripathi958
      @krishnaramtripathi958 Год назад +7

      nunnu touching comment

    • @pulkitjain5159
      @pulkitjain5159 Год назад +2

      @@krishnaramtripathi958 thanks bro BTW completed the sheet :).

    • @GauravKashyap-ei6mb
      @GauravKashyap-ei6mb Год назад

      ​@@pulkitjain5159Bro Is it possible to connect with you? I have few doubts regarding dsa.

    • @vaibhavvm4147
      @vaibhavvm4147 9 месяцев назад

      @@pulkitjain5159 bro from where did u learn dsa

  • @raZer.7_
    @raZer.7_ 5 месяцев назад +6

    Little by little feeling confident in solving DSA problems. Thank you man!!

  • @thisismr900
    @thisismr900 Год назад +18

    Thank u striver sir. Really an inspiration to me.
    U know what ,I feel NOW very confident in solving the questions.
    Bas logic samajh aa jaye to code to bas 5 min lagta hai.
    2 days complete , now at 13th video of this playlist .

  • @thegreekgoat98
    @thegreekgoat98 11 месяцев назад +6

    Saw the first 9 minutes of the video and able to code it by myself. Such is the clarity in his explanations. Thanks Striver.

  • @GPT-X938
    @GPT-X938 3 месяца назад

    I could not wrap my head around this problem until I saw your video, thank you!

  • @Nexus-bg3
    @Nexus-bg3 5 месяцев назад

    I wasn't able to solve mid level binary search problems. Now i can easily. I can't thank you enough

  • @priyanshunautiyal1662
    @priyanshunautiyal1662 6 месяцев назад +1

    you are a great striver love the way you approach problems ....... Clearly Understood

  • @23cash86
    @23cash86 Год назад +6

    at 3:53 I understood it is binary search, implemented on my own using binary search + sliding window ....Made some modification to sliding window as window cannot be overlapped to count consecutive k elements, got overflow error while checking n< m*k ... typecasted to n< (long) m*k ,finally passed all test cases after 40min.....
    Edit:
    after submiting i watched video and realised its easier to implement possible function , same complexity as sliding window but i could probably code you idea faster and it is simpler XD.
    Grateful for free knowledge from you.

  • @aksharshah
    @aksharshah 4 месяца назад +2

    Striver always on fire🔥❤ excellently explained 😊

  • @akshaygupta811
    @akshaygupta811 Год назад +1

    A small optimization: defining long longs and checking for the condition m*k>n is not necessary,
    once the binary search finishes, if m*k>n is true, then our Low pointer would point at n.
    Hence at last we can just simple write:
    if (low==n) return -1;
    else return low;

    • @6mahine_mein_google
      @6mahine_mein_google Год назад +1

      It really isn't an optimization per se. Because if we calculate it beforehand we dont need to apply binary search at all , if(m*k>n) is true then it will straight away throw -1 whereas in your approach it would still take O(N*logN) , because it will go into binary search loop nevertheless.

    • @dank7044
      @dank7044 10 месяцев назад

      how is it an optimization lol? it ulta increases the Tc.

  • @SumitSingh-dc8pm
    @SumitSingh-dc8pm 9 месяцев назад

    Solved this today, 13 Dec 2023. Thank you man for making the problem a cakewalk.

  • @JoyBoy_013
    @JoyBoy_013 7 месяцев назад +1

    It becomes easier to understand when Striver starts explaining

  • @indroneelgoswami5654
    @indroneelgoswami5654 Месяц назад +1

    Only 5 mins watching and solved the Question!!
    Striver you beauty!!!!!!!!!!!!!!!!!!!!!!!

  • @himangshusarma6384
    @himangshusarma6384 Год назад

    UNDERSTOOD ! Instead, I solved it by my own before watching the video... Thanks to you

  • @divyanshubaranwal3791
    @divyanshubaranwal3791 3 месяца назад

    I forgot to write noOfB += (cnt / k); again outside the loop in possible function, and it took me so much time to solve it myself, but i was able to do it after some time. So much thanks!

  • @johndurai2226
    @johndurai2226 Год назад +5

    Thank you striver bro I am from the south india (Tamilnadu). You are the consistency person keep it up and post videos as well. These are helpfull for us. Please made videos like this consistency.Thank you

  • @krishnavamsiyerrapatruni5385
    @krishnavamsiyerrapatruni5385 Год назад +1

    Understood everything clearly and was able to code it myself. Thanks a lot Striver :)

  • @danish15
    @danish15 3 месяца назад

    Thanks it wasn't an easy problem statement to understand but after your explanation I was able to solve it on my own. 🙏

  • @ArijitsClasses
    @ArijitsClasses 9 месяцев назад +3

    Good evening sir, this is Arijit from Kolkata. Your videos are super amazing and helpful, getting confidence in attempting leetcode problems...could even solve few of them.
    Sir the purpose of this comment is, as you said in one of the TEDX videos that in your college days you used to earn through blogging...may you please suggest me some tips, how can I earn through blogging, and recommend some blogging websites from where I can earn too....

  • @faizanahmed9304
    @faizanahmed9304 Год назад +2

    Thank you Striver bhaiya!

  • @tanujaSangwan
    @tanujaSangwan 23 дня назад +2

    Completed the code without watching the video all by myself

  • @joeljacob4685
    @joeljacob4685 Год назад

    Wow !! I am able to understand the intuition behind these problems. Excellent Problem and awesome explanation.

  • @VinuthaTJ-u7o
    @VinuthaTJ-u7o 3 месяца назад

    Best! Best! Bestest explanation ever!!

  • @MJBZG
    @MJBZG 3 месяца назад

    could code it by myself before reading the explanation, thanks!

  • @sauravchandra10
    @sauravchandra10 Год назад +1

    Was able to code this on my own, thanks and understood clearly!

  • @Manishgupta200
    @Manishgupta200 Год назад +1

    isPossible() function and taking long long as val = m*k to avoid overflow error is too tricky and helpful to understand the question clearly

  • @kaushiksen2190
    @kaushiksen2190 10 месяцев назад

    Thank you so much Dada, i was able to solve it on my own by taking help from the previous question intuition

  • @cinime
    @cinime Год назад

    Understood! Amazing explanation as always, thank you very very much for your continuous effort!!

  • @alessandrocamilleri1239
    @alessandrocamilleri1239 Год назад +1

    Great explanation. TC should include an additional O(n) to find range.

  • @udatyadeb101
    @udatyadeb101 8 месяцев назад

    thanks to you was able to do the problem on my own.

  • @akhileshagarwal5913
    @akhileshagarwal5913 6 месяцев назад

    What a Great Approach Man

  • @divya1005
    @divya1005 3 месяца назад

    Thank you so much for the super clear explanation 🙂

  • @stephan24297
    @stephan24297 3 месяца назад

    thanks for the explanation definitely helped me to understand the problem!

  • @abhishekkumargupta117
    @abhishekkumargupta117 10 месяцев назад +1

    wow! very well explained.

  • @shamanthhegde2820
    @shamanthhegde2820 7 месяцев назад +1

    while solving the same problem in leetcode, i encountered a condition where the code might fail. for instance when there are enough flowers but they are not adjacent to make enough bouquets.
    so during that case our low pointer will go beyond the size of the array. In order to counter that , we have to check the position of low...if the position of low > maxDay then we have to return -1 as we were not able to satisfy number of bouquets.

  • @ShravanKumar-wg9pv
    @ShravanKumar-wg9pv Месяц назад

    understood very well sir

  • @adamyagaur9638
    @adamyagaur9638 Месяц назад

    Minor optimization in TC: Instead of taking the complete range from lowest element to the highest element, just take unique sorted elements from the array for the binary search.
    This will reduce the log(max-min) complexity part to log(N),
    however the space complexity will change to O(N) from O(1)

  • @pushankarmakar1783
    @pushankarmakar1783 7 месяцев назад +2

    why cant we do it in a way where the possible() function would return the bouquets we are able to form and then we deal with what to do in the binary search?

  • @BiswajitDas-lk7pp
    @BiswajitDas-lk7pp 9 месяцев назад

    Better than Paid Courses

  • @Avi-rc5ff
    @Avi-rc5ff 3 месяца назад

    The explanation is so good

  • @AtulKumar-c4x7l
    @AtulKumar-c4x7l Год назад

    understood
    Thank you striver for such an amazing explanation...

  • @statusupdate7007
    @statusupdate7007 2 месяца назад

    Understand bro great teaching 👍

  • @dipingrover1970
    @dipingrover1970 3 месяца назад

    amazing explantion i was able to do it on my own. 😊

  • @adityaroychowdhury3709
    @adityaroychowdhury3709 Год назад

    understood. thank you very much for this series.

  • @amanasrani6405
    @amanasrani6405 2 месяца назад

    Amazing Explanation 🙌❤

  • @vedantrajanikantlatthe735
    @vedantrajanikantlatthe735 3 месяца назад

    you are great sir

  • @AK-nj1je
    @AK-nj1je 6 месяцев назад +1

    Done and Dusted !!!

  • @googleit2490
    @googleit2490 Год назад

    Understood, coded it on my own, thanks!!

  • @dayashankarlakhotia4943
    @dayashankarlakhotia4943 Год назад

    Good problem very well explained. Thanks.

  • @culeforever5408
    @culeforever5408 11 месяцев назад +1

    understood 😇

  • @AnmolGupta-oj4lm
    @AnmolGupta-oj4lm Год назад

    Understood Very Well!

  • @oyeesharme
    @oyeesharme 2 месяца назад

    understood bhaiya

  • @cenacr007
    @cenacr007 Год назад

    the opposite polarity is very useful.

  • @ishangujarathi10
    @ishangujarathi10 Год назад

    Understood completely, tysmm striverrrrrr

  • @manavsingh5919
    @manavsingh5919 Год назад

    thank you striver understood everything

  • @ritikkurta3363
    @ritikkurta3363 Год назад

    happy birthday bhai bhai

  •  2 месяца назад

    Thank you sir

  • @prakhargarg4166
    @prakhargarg4166 3 месяца назад

    Best intuition

  • @stormragemc4375
    @stormragemc4375 3 месяца назад

    if i may once you've found out 12 (mid) is possible, why do you still need to eliminate the ranges and continue looking when it's safe to assume that since you've ordered the list the first number you found possible would be the smallest possible and u got ur answer already?

  • @DeadPoolx1712
    @DeadPoolx1712 Месяц назад

    UNDERSTOOD;

  • @CodeMode9313
    @CodeMode9313 Год назад

    Habibi tussi mast bideo banate ho

  • @arujain1690
    @arujain1690 Год назад +2

    Can someone please help me understand what is polarity concept striver was talking about?

    • @Bharat_Rider
      @Bharat_Rider Год назад +2

      Initially low was on the not possible side and high on the possible side. This is polarity. Now as the binary search ends polarity changes i.e. low will be on possible and high on not possible.

  • @vaibhav5269
    @vaibhav5269 9 месяцев назад

    Hi striver At 20:20 , you directly ignored less than 10 days, but what if bloom days array was something like this [7,7,7,7,13,11,12,7,7,7] In this case 2 bouquets are possible for minimum of 7 days, but we have ignored 7 days in binary search.

    • @vivekprasannan9258
      @vivekprasannan9258 9 месяцев назад +1

      Bro, in your case 10 days is a possible ans, so according to binary search the ans will store 10 and try to search for a min day than 10 (right half is ignored). Hope it helps

  • @sakshinaruka3440
    @sakshinaruka3440 Год назад

    Understood :) Thank you so much

  • @Anony.musk01
    @Anony.musk01 Год назад +1

    Understood!

  • @smoothgaming7822
    @smoothgaming7822 11 месяцев назад

    Understood sir!

  • @rajatshukla2605
    @rajatshukla2605 19 часов назад

    understood!

  • @Ina2003-q4s
    @Ina2003-q4s Год назад

    Love from Mysore ❤

  • @kaushiksen2190
    @kaushiksen2190 10 месяцев назад

    Keep going thanks alot

  • @mohammedansil2302
    @mohammedansil2302 3 месяца назад

    he is a fire❤‍🔥❤‍🔥❤‍🔥❤‍🔥❤‍🔥

  • @samreenimam8608
    @samreenimam8608 9 месяцев назад +1

    are we not going to add TC of finding max and min of the array??

    • @vishious14
      @vishious14 8 месяцев назад

      O((log(max-min))*n) is greater than n. So we ignore the shorter time complexity.

  • @SYCOA12CHAITANYAASOLE
    @SYCOA12CHAITANYAASOLE 4 месяца назад

    Understood !! 😎😎

  • @RaunitJaiswal-s9v
    @RaunitJaiswal-s9v 18 дней назад +1

    Done

  • @Learnprogramming-q7f
    @Learnprogramming-q7f 7 месяцев назад

    Thank you bhaiya

  • @AbhishekKumar-nz9dn
    @AbhishekKumar-nz9dn 11 месяцев назад

    UNDERSTOOD 🥰

  • @spade_
    @spade_ 23 дня назад

    i have an doubt as calculated time complexity is O(n log(min-max+1)) but initially we have to find the max and min which takes O(n) then why aren't we adding that to our final TC?

    • @komalgupta3911
      @komalgupta3911 14 часов назад

      Time Complexity : [ O(n) +O(n) + O(n log(max-min+1)) ] approximately equals to O(n log(max-min+1) but for Brute force it is O( (max-min+1)*n).

  • @rutujashelke4208
    @rutujashelke4208 Месяц назад

    Understood

  • @AMITDANSENA-qe9px
    @AMITDANSENA-qe9px 4 месяца назад

    Can we solve this as multiple peak points

  • @AkOp-bf9vm
    @AkOp-bf9vm 8 месяцев назад

    why T.C is log( n*(max-min+1)) but not nlog(max-min+1) . IS BOTH SAME???

  • @YourCodeVerse
    @YourCodeVerse 9 месяцев назад

    Understood✅🔥🔥

  • @bharatmundra9568
    @bharatmundra9568 Год назад

    amazing sir

  • @md.imrankhan6912
    @md.imrankhan6912 Год назад

    Legendary boss

  • @AnandSharma-ei1fv
    @AnandSharma-ei1fv 3 месяца назад

    understoood

  • @darkpheonix6592
    @darkpheonix6592 3 месяца назад

    simply binary search is converting o(n2) solution to o(nlogn) solution

  • @nuraynasirzade
    @nuraynasirzade 5 месяцев назад

    understood!!!

  • @GuruPrasadShukla
    @GuruPrasadShukla Год назад

    thanks for the video mate

  • @itsmrcrazy7670
    @itsmrcrazy7670 11 месяцев назад +1

    easy but question was quite hard to understand.

  • @TON-108
    @TON-108 11 месяцев назад

    Understood!

  • @navdeepladdha1775
    @navdeepladdha1775 8 месяцев назад

    Understood ❤

  • @srikanthkumar6842
    @srikanthkumar6842 Год назад

    Thank you

  • @sahilsinghtomar
    @sahilsinghtomar Год назад

    nice one

  • @per.seus._
    @per.seus._ Год назад

    UNDERSTOOD

  • @justanuhere
    @justanuhere 4 месяца назад

    return low karne se ek testcase jismein maximum=minimum element hai array mein wrong ho jaa rha hai answer

  • @anirbanghosh752
    @anirbanghosh752 Год назад

    It's like mixed form of binary with kadane

  • @ajaybeldar4981
    @ajaybeldar4981 8 месяцев назад

    if(fuls==k) // used this if statement instead of that else statement in function , it is simply checking that if flower are equal to k then increment bouq and reset flower=0
    {
    bouq++;
    fuls=0;
    } // why this if statement work only for first 7 test case

  • @abhinavanand1904
    @abhinavanand1904 Год назад

    can we solve this problem by sorting the array an then applying binary search logic ???