Interval Scheduling Maximization (Proof w/ Exchange Argument)

Поділитися
Вставка
  • Опубліковано 12 вер 2024
  • Code & Problem Statement @ backtobackswe....
    Free 5-Day Mini-Course: backtobackswe.com
    Try Our Full Platform: backtobackswe....
    📹 Intuitive Video Explanations
    🏃 Run Code As You Learn
    💾 Save Progress
    ❓New Unseen Questions
    🔎 Get All Solutions
    Subscribe To Live Tech Offers: offerfeed.io
    Join Our Coaching Service: backtobackswe....
    In this video, we talk about the Interval Scheduling Maximization Problem. We look at the greedy solution as well as a proof via an exchange argument.

КОМЕНТАРІ • 146

  • @BackToBackSWE
    @BackToBackSWE  4 роки тому +37

    Table of Contents:
    Introduction 0:00 - 1:22
    Greedy Algorithm Walkthrough 1:22 - 5:14
    What We Want To Prove 5:14 - 7:03
    Exchange Arguments 7:03 - 7:33
    The Proof 7:33 - 11:30
    Trying To Exchange 11:30 - 16:20
    Finishing The Argument 16:20 - 19:24
    Conclusion 19:24 - 20:17

  • @amitbhogal7406
    @amitbhogal7406 2 роки тому +40

    This is an award-winning explanation if one considers the patience, thoughtfulness and elocution with which it has been done. God bless your continued efforts in education!

  • @sankalparora9261
    @sankalparora9261 4 роки тому +15

    I have never seen so in-depth understanding of Interval Scheduling ANYWHERE! Keep killing it!!! THANKS, A LOT! "By the very nature we are doing something, there can be no conflict" hit me the most.

  • @spectermakoto9029
    @spectermakoto9029 4 роки тому +45

    This channel is a goldmine Just really exceptional stuff clear, concise and fun to watch

  • @MMOlocation
    @MMOlocation 4 роки тому +68

    Your channel and leetcode got me an internship at facebook. Thank you dude, keep it up!

  • @johnleonardo
    @johnleonardo 4 роки тому +7

    dude, your explanations are out of this world! you’re helping me with interview prep so much. thank you & subbed, liked. this channel is en route to blowing up!

    • @BackToBackSWE
      @BackToBackSWE  4 роки тому

      haha thanks, and nah, it is steady growth so slowly but surely

  • @amanial-khalifa5299
    @amanial-khalifa5299 2 роки тому

    Can you believe that I have attended two 2 hour lectures about greedy algorithm and I have just understood it in this 20 minutes video! Thank you!

  • @peterren5409
    @peterren5409 2 роки тому +1

    This man has helped me with my algo class more than anyone else

  • @ashelytang2592
    @ashelytang2592 4 роки тому +1

    I have an Algorithms Midterm tomorrow and I found this video to be super helpful! I could understand everything you were saying! Simple and straightforward explanations are the best!!! Thank you for this!

  • @maripaz5650
    @maripaz5650 3 роки тому +3

    binge-watching your videos before a final round interview. thank you very much! your videos have helped me get so much further this recruiting season.

  • @crazytourist6619
    @crazytourist6619 Місяць тому +1

    I just fell in love with this explanation !!!

  • @acspd7
    @acspd7 4 роки тому +2

    Just wanted to let you know you are God's gift to mankind. I can really tell you have a genuine passion to teach and help others. Not some scumbag (which there are many, unfortunately in this industry) looking to cash in on exploit tech job seekers because the market is fiercely competitive these days. And even if you did end up charging for your course, I'd still pay for it because you come from a good place. Great work.

    • @BackToBackSWE
      @BackToBackSWE  4 роки тому

      Haha, um, I mean I am morally dubious certain days, mostly not. And yeah lol, I don't really think about anything I'm doing...I'm just doing

  • @jpfsilva
    @jpfsilva 3 роки тому +2

    These videos of him are amazing! He explains perfectly well and understandable. Thanks for that!

  • @Messirobben047
    @Messirobben047 3 роки тому

    Best problem-solving channel on UA-cam. Brilliant stuff!

  • @MuffinLucas
    @MuffinLucas 3 роки тому +2

    You're such a talented teacher, than you for these wonderful videos!

  • @dotanoob466
    @dotanoob466 3 роки тому

    Excellent! As a person with a background in math who now works as a software dev who’s looking for a new job, this was great. Underneath it all, at its fundamental level, i think this a proof by induction. Very well explained!

  • @brandenhernandez7772
    @brandenhernandez7772 3 роки тому

    been watching all your videos for my final and man you explain 16 weeks of school better in a 20 min video.

  • @Amy-tw3zh
    @Amy-tw3zh 4 роки тому +1

    This makes good sense. I had to picture in my head the diagram or examples as you explained all the WHY's, to convince myself that it's always true. And indeed it is. It's hard to think about application of this to other algorithms though.

  • @Nima-Salami
    @Nima-Salami 2 роки тому

    Duuuude! The best explanation I've found on Exchange Argument!
    God bless you!

  • @leakyshoes8297
    @leakyshoes8297 2 роки тому

    Love this. Wish it would show a written proof with induction. Only saying this because there was a lot of talking, but putting this into a written proof is a bit mind bending. However, absolutely thumbs up and subscribed!

  • @nguyentuan1990
    @nguyentuan1990 3 роки тому +1

    I dont understand, so everything is the same from G to O until k-1 but k is where everything diverge ? how can you say that the finishing time fo G(k)

  • @srishtijain1092
    @srishtijain1092 4 роки тому +3

    Amazing video! Thanks for the wonderful content always!

  • @devinshaw8558
    @devinshaw8558 4 місяці тому

    Very hard to build an intuition for this, but this video is closest I have seen.

  • @shizibaozi
    @shizibaozi 11 місяців тому

    such a great and clear explain, even though I am poor at English can understand.

    • @BackToBackSWE
      @BackToBackSWE  10 місяців тому

      Happy Halloween 🎃 Thank you for your kind words, shizibaozi! What languages do you speak? You get some extraaa treats for the hardwork - 50% Off our exclusive lifetime membership use the code SPOOKY50 - backtobackswe.com/checkout?plan=lifetime-legacy&discount_code=SPOOKY50

  • @zhangxuewei7554
    @zhangxuewei7554 2 роки тому

    dude, you are born to be a teacher!

  • @tofahub
    @tofahub 4 роки тому +1

    You are an algorithmist. Such an inspiration!

    • @BackToBackSWE
      @BackToBackSWE  4 роки тому

      Lol, no, I'm just an average dude who recorded a lot of videos

  • @sitanshushukla1820
    @sitanshushukla1820 4 роки тому +1

    Your explanations are the best!!!

  • @Dryicicles
    @Dryicicles 3 роки тому

    Jesus Christ what an incredibly fresh cut

  • @EliseGreen-tz2qe
    @EliseGreen-tz2qe 10 місяців тому

    Very clear explanation!

    • @BackToBackSWE
      @BackToBackSWE  10 місяців тому

      Happy Halloween 🎃 Thank you for your kind words, EliseGreen! Let us know other topics we could cover! We'd love to offer you 50% Off our exclusive lifetime membership use the code SPOOKY50 - backtobackswe.com/checkout?plan=lifetime-legacy&discount_code=SPOOKY50

  • @ahonhuman3717
    @ahonhuman3717 9 місяців тому

    Incredible video! Thank you!

    • @BackToBackSWE
      @BackToBackSWE  9 місяців тому

      Happy Holidays 🎉 Thank you for your kind words, ahonhuman! We'd love to offer you a 40% Off our exclusive lifetime membership just use the code CHEER40 - backtobackswe.com/checkout?plan=lifetime-legacy&discount_code=CHEER40

  • @anonymoussloth6687
    @anonymoussloth6687 3 роки тому

    i had a similar problem, but i cant find a solution to this anywhere. in fact, i cant even find the problem anywhere (i originally saw this problem on my university test).
    the problem is, u r given n jobs with start and finish times, and u have to find the minimum number of processors that can finish all jobs. a processor can only do disjoint jobs (jobs that don't overlap).
    Sample test case:
    There are 5 jobs (with start and end time given respectively):
    1 11
    2 3
    3 6
    4 6
    10 13
    The answer is you need a min of 3 processors to complete all the jobs.
    processor 1: 1-11
    processor 2: 2-3 4-6 10-13
    processor 3: 3-6

  • @user-rf4vc7mt4d
    @user-rf4vc7mt4d 4 роки тому +1

    I wish you were my professor. This is sooo helpful

  • @kumarutkarsh4016
    @kumarutkarsh4016 4 роки тому +1

    Consider a variant of this question. We are supposed to find intervals giving the max cardinality as before. But the added constraint is that in the case of two solutions having the same cardinality, we need to pick the solution where the length of time covered by all the intervals is lowest. What modifications (if any) to the current algo would be required?

  • @nawendusingh2858
    @nawendusingh2858 4 роки тому +1

    watching this tonight coz i have finals tomorrow.thanks for such a great explanation. Have u done interval partitioning as well?

  • @Leo-tz7lp
    @Leo-tz7lp 3 роки тому

    MAN was this video well made, thank you.

  • @shanness237
    @shanness237 4 роки тому +2

    Crystal clear!!!! Thank you!

  • @weizhao8214
    @weizhao8214 4 роки тому +2

    I really should have watch this video before my midterm

  • @andywang4189
    @andywang4189 4 роки тому +1

    Thanks, this is best explanation of the proof

  • @anhduy7367
    @anhduy7367 4 роки тому +1

    This helps me a lot. Thank you

  • @adityasrivastava8790
    @adityasrivastava8790 3 роки тому +2

    Hey John Legend! Keep up the Good work my man!!

  • @adods4058
    @adods4058 4 роки тому +1

    Good job. Well explained

  • @alexandra4629
    @alexandra4629 5 місяців тому

    Thank you so much.

  • @OrangePotatoLeo
    @OrangePotatoLeo Рік тому

    Great job explaining!

  • @hiteshnagothu887
    @hiteshnagothu887 4 роки тому +2

    Thank you so much!!!

  • @ananydwivedi5853
    @ananydwivedi5853 2 роки тому

    Very good explanation, thank you!

  • @xinyucao5550
    @xinyucao5550 4 роки тому +1

    Great explanation!

  • @shahainmanujith2109
    @shahainmanujith2109 3 місяці тому

    Nice explanation :)

  • @paiqu3933
    @paiqu3933 4 роки тому +1

    Thank you so much for the video!

  • @susmitjaiswal136
    @susmitjaiswal136 2 роки тому

    aaammaazzinggg...got it perfectly

  • @TomChan-nn7mu
    @TomChan-nn7mu 5 місяців тому

    you save my life

  • @BeatYourYesterday
    @BeatYourYesterday 2 роки тому

    great work

  • @abdelrhmangamal3018
    @abdelrhmangamal3018 2 роки тому

    شكرا صاح!
    عمال ساعة بحاول افهم بس انت راجل صح الصح وفهمت خلاص الحمد لله.

  • @ankithreddyadudodla7673
    @ankithreddyadudodla7673 4 роки тому +2

    cool and nice

  • @user-wd4xn2it4e
    @user-wd4xn2it4e 2 роки тому

    great explanation thank you :)

  • @squadbustersgamings
    @squadbustersgamings 4 роки тому +2

    Nice video, could you do a video on Weighted Interval Scheduling?

    • @BackToBackSWE
      @BackToBackSWE  4 роки тому

      Yes, I just don't have the time though. If you have . aquestion I can answer it here

    • @squadbustersgamings
      @squadbustersgamings 4 роки тому +1

      No question! Your explanation is really good btw! I was just having a hard time understanding weighted interval scheduling and hope you can do the video on this when you are free :)

    • @BackToBackSWE
      @BackToBackSWE  4 роки тому

      @@squadbustersgamings ye

  • @ahm_adash_i6723
    @ahm_adash_i6723 3 роки тому

    thank you sir

  • @prachurjyakashyap2029
    @prachurjyakashyap2029 4 роки тому +2

    You got a subscriber

  • @1234rajan1234
    @1234rajan1234 4 роки тому +1

    thanks i get it now bro

  • @top-list6450
    @top-list6450 4 роки тому +1

    Thanks for these amazing videos . could you also add the question link, so that we can try

  • @dotanoob466
    @dotanoob466 3 роки тому

    Subscribed.

  • @DheemanSaha
    @DheemanSaha 3 роки тому +1

    Well I was not cleared how you made sure your greedy solution is the optimal solution. Is it possible to share more information?

    • @BackToBackSWE
      @BackToBackSWE  3 роки тому

      I forgot the contents of this video but loosely remember that it had to do with an exchange argument. Fast replying to comments cant address

  • @vasiliinikonov6477
    @vasiliinikonov6477 4 роки тому +1

    He spoke of the code in the description, but I cannot find it

    • @BackToBackSWE
      @BackToBackSWE  4 роки тому

      The repository is deprecated - we only maintain backtobackswe.com.

  • @benzeltser9851
    @benzeltser9851 2 роки тому +2

    I need to rob my University, take all what I've paid them, and hand it all to you

  • @anonymoussloth6687
    @anonymoussloth6687 3 роки тому

    I am a little confused. Does an exchange mean that ur are sawing 2 events? Or are u inserting one and still keeping the other? For ex, gk and bk, did u put gk in optimal set and still keep bk after it or did u replace bk by gk?

  • @MathAfta
    @MathAfta 8 місяців тому

    Hero !

  • @ANGELINK999
    @ANGELINK999 4 роки тому +2

    I understood the first part (the algorithm explanation) but not the one where you compare the Optimal vs the Greedy one. I guess I need to see it more times. Haha. Anyways, awesome work!

    • @BackToBackSWE
      @BackToBackSWE  4 роки тому +1

      The notation & abstract academic nature of proofs confuse at first. Most take a bit to sink in.

  • @pranavsingh9284
    @pranavsingh9284 3 роки тому

    very much thanks sir

  • @praveenchouhan6388
    @praveenchouhan6388 3 роки тому

    so this looks like a combo of greedy and dynamic programming right???

  • @tommieb8623
    @tommieb8623 4 роки тому +1

    Is there also a greedy method for maximization of the intervals length instead of the amount of intervals?

    • @BackToBackSWE
      @BackToBackSWE  4 роки тому

      not sure

    • @JustixLoL
      @JustixLoL 4 роки тому

      I guess in this case you need to exchange previously chosen interval with current if it is smaller then current and continue

  • @malikfahadsarwar2281
    @malikfahadsarwar2281 2 роки тому

    how you can say that fgk

  • @InfernTech
    @InfernTech 2 роки тому

    so good

  • @sumukhbhat1641
    @sumukhbhat1641 2 роки тому

    Why sort by finish time and not by start time? I sorted by start time and it cost me a coding round :(

  • @arpithparikh
    @arpithparikh 4 роки тому +1

    can we say Greedy Exchange is the most efficient solution?

    • @BackToBackSWE
      @BackToBackSWE  4 роки тому

      I'm not sure? Efficient asymptotically or in terms of real elapsed time? If the former it'd have to be, because linear time is the lower bound, we have to inspect all intervals.

  • @yoonchaena671
    @yoonchaena671 3 роки тому

    you save me thanks

  • @yoshi4980
    @yoshi4980 4 роки тому +6

    too late :'(

  • @nikmitsioris9809
    @nikmitsioris9809 2 роки тому

    godlike!!

    • @BackToBackSWE
      @BackToBackSWE  2 роки тому

      Thank you, glad you liked it 😀
      Do check out backtobackswe.com/platform/content
      and please recommend us to your family and friends 😀

  • @alantao6895
    @alantao6895 4 роки тому +1

    where the heck is the code? 🤔

    • @BackToBackSWE
      @BackToBackSWE  4 роки тому

      repository is deprecated, we do not maintain it but it is still on my github

  • @maxbarahona9675
    @maxbarahona9675 4 роки тому +2

    What is your leetcode username?

  • @poojasadevra3893
    @poojasadevra3893 4 роки тому +1

    I think I kinda got what optimal substructure means here ..

  • @souravprajapati4578
    @souravprajapati4578 4 роки тому +2

    bro the implementation ?
    the code?

    • @BackToBackSWE
      @BackToBackSWE  4 роки тому

      The repository is deprecated - we only maintain backtobackswe.com now.

  • @maheshg3619
    @maheshg3619 4 роки тому +1

    waiting for your video

  • @supamdeepbains5172
    @supamdeepbains5172 4 роки тому +1

    sup bro?

  • @aidan618
    @aidan618 2 роки тому

    Great explanation but why does he explain this like a tech bro hahaha

  • @ahsanulameensabit
    @ahsanulameensabit 4 роки тому +1

    Good explanation :|

  • @praveenchouhan6388
    @praveenchouhan6388 4 роки тому +1

    unclear!!!!!!!!!!!!!!!!!