Recursion - Permutations (Theory + Code + Tips)

Sdílet
Vložit
  • čas přidán 21. 07. 2024
  • This is part 2 of the subset + string recursion series. Here we cover some important tips to permutation problems with #recursion.
    Take part in the learning in public initiative! Share your learnings on LinkedIn and Twitter with #DSAwithKunal & don't forget to tag us!
    👉 Resources
    - Join Replit: join.replit.com/kunal-kushwaha
    - Complete Java DSA playlist: • Java + DSA + Interview...
    - Code, Assignments, & Notes: github.com/kunal-kushwaha/DSA...
    ➡️ Connect with me: kunalkushwaha.com
    =========================================
    Timestamps:
    00:00 Introduction
    00:22 What is Permutation?
    01:53 Permutation using Recursion
    11:48 Code for Permutation
    15:42 Returning output as an ArrayList
    20:12 Counting Number of Permutations
    24:35 Outro
    #placement #dsa #interviews

Komentáře • 159

  • @allaboutgamimg7976
    @allaboutgamimg7976 Před 2 lety +79

    You are on fire 🔥🔥🔥 bro
    The frequency of vedios 🔥🔥🔥

    • @KunalKushwaha
      @KunalKushwaha  Před 2 lety +8

      Thank You 🙏

    • @allaboutgamimg7976
      @allaboutgamimg7976 Před 2 lety +2

      @@KunalKushwaha Thank you for teaching these stuffs

    • @vaishnavijahagirdar3835
      @vaishnavijahagirdar3835 Před 2 lety +3

      @@KunalKushwaha Please
      continue the frequency till oop ..highly needed

    • @twi4458
      @twi4458 Před 2 lety +1

      To Everyone who's learning in Cpp or knows, The code that I've written for permutations is running infinite times. Can anyone assist me.
      #include
      using namespace std;
      void permutation(string p, string up)
      {
      if (up.empty())
      {
      cout

    • @ashutoshdhande689
      @ashutoshdhande689 Před 2 lety +3

      @@twi4458 the problem is here "p = first + ch + last;
      " you are assigning the value to p again and the length of p increases with each function call and loop never breaks. Means after cba it will go like ccba, cccba, so on
      so directly pass the expression or assign it to different var such as "String ans = first + ch + last;" and it will work

  • @PRASHANTKUMAR-il4ob
    @PRASHANTKUMAR-il4ob Před 2 lety +67

    9:30 If anyone have the confusion with brackets, kunal mistakenly used Inclusive in place of exclusive bracket and vice versa.

  • @muenidorcas1831
    @muenidorcas1831 Před rokem +4

    The best recursion video ever! I have been watching all your recursion videos and I can now solve recursion challenges. Looking forward to more of these. Thank you for demystifying the monster!

  • @yogpooja-vq1pp
    @yogpooja-vq1pp Před 2 lety +3

    Your content is amazing, I went through lots of DSA courses on youtube, but no video develops the understanding and solution approaching mindset as you do. Blessed that I found you.🔥🔥🔥

  • @adityapalve3752
    @adityapalve3752 Před 2 lety +4

    Been following the videos daily and keeping up with them. This is very fun ngl. Great work.

  • @hargunsingh8800
    @hargunsingh8800 Před rokem +2

    Hi Kunal,
    Your recursion playlist on CZcams has been a game-changer for me! I have learned so much and have been able to apply the concepts in my coding projects. I would love to see a new lecture series on dynamic programming. I know it's a challenging topic, but I trust your teaching style and explanations to make it more approachable. Keep up the great work!

  • @sadmansakibmugdho4134
    @sadmansakibmugdho4134 Před 2 lety +46

    Hello Kunal. I want to know, After the DSA course, will you show us how to use our skills in open source and all that stuffs till how to approach in a company? If not then please consider this.🙏🙏🙏

  • @mayanksingh6243
    @mayanksingh6243 Před 2 lety +12

    Thumbnail clears that the topic which we are going to see in recursion (recurring photos) LOL
    Great work Kunal you're helping us in many ways. 😊

  • @prakharsinha4145
    @prakharsinha4145 Před 2 lety +4

    it is no way wrong if i say your lectures are really mesmerizing....just amazing Kunal #NailediT🔥

  • @armaanthakur8116
    @armaanthakur8116 Před 5 měsíci +3

    You are a genius kunal !! 🙌

  • @nooruskhan228
    @nooruskhan228 Před 2 lety +2

    bhai top class :), gazab padhaye ho, recusrsion khud se sochna aagya, Thanks alot

  • @manwinsingh7381
    @manwinsingh7381 Před 11 měsíci +4

    I did permutations just by seeing the previous video. Power of Kunal and recursive tree🔥🔥🔥🔥

  • @_PoojaDahifale
    @_PoojaDahifale Před 9 měsíci +1

    thanks kunal before watching your i have a lots of doubts related to permutation ... after watching video ... all doubt are cleared.

  • @ishumishra7472
    @ishumishra7472 Před 2 lety +16

    hey Kunal can you please tell us more about how you got that 41 lac package. I am a freshman and I want to get this sort of remote job, what should I do?

  • @Moch117
    @Moch117 Před rokem +1

    You're helping me with backtracking so much. THANK YOU!!!

  • @Cloud-577
    @Cloud-577 Před 2 lety +2

    it wouldn't hurt to leave a like. It is the least we can do for Kunal.

  • @shivammishra2501
    @shivammishra2501 Před 2 lety +1

    Amazing kunal Thanks for everything😊😊

  • @subhankarkanrar9494
    @subhankarkanrar9494 Před 4 měsíci +4

    It you don't understand in first watch, don't skip it. See it again, you will understand. In my case i was not able to understand in my first watch , when i repeat , i got the whole thing clear

  • @Tomharry910
    @Tomharry910 Před rokem

    Many Thanks for another great video and saving our lives 🙏

  • @smiley-1
    @smiley-1 Před 2 lety +1

    Thanks a lot brother,your videos are helping so many people .it would be great if you could explain more examples based on permutations

  • @ShaheenHusain-cu3qc
    @ShaheenHusain-cu3qc Před rokem

    Thank you isn't enough for this amazing content!!!!!! no words 🤐 I can't find Trees/Graphs/DP videos in this playlist or any other on your channel, are you planning to upload it any time soon? these are helping me a lot I wish I could go back in time and started with your playlist last year itself!!!!!

  • @amruthaa5876
    @amruthaa5876 Před 2 lety +2

    Thank you so much!!!

  • @heraldbygrace
    @heraldbygrace Před rokem

    Thanks brother! God bless you!

  • @parthranjan5606
    @parthranjan5606 Před 2 lety

    Kunal keep the good work going mate

  • @chandrasekharkaranam701
    @chandrasekharkaranam701 Před 2 lety +1

    Dedication levels🔝peaks

  • @raghavmangla2481
    @raghavmangla2481 Před 2 lety +3

    Best DSA course on this planet

    • @suyashagrawal1102
      @suyashagrawal1102 Před 2 lety +1

      WOW that's insane mate how many DSA courses have you taken till now?

  • @OmkarDhamale45
    @OmkarDhamale45 Před 2 lety +2

    You are Amazing Bro🔥🔥🔥

  • @siddhigupta7673
    @siddhigupta7673 Před rokem +1

    kunalllllllllllllllllllllllll plss make more videos your way of teaching is just fab...

  • @dinobandhuchakraborty5202

    I am jus literally clapping man😍😍😍😍

  • @navrosesinghjohal1662
    @navrosesinghjohal1662 Před 10 měsíci +4

    simpler better code for permutation: static void permutations(String p,String up){
    if(up.isEmpty()){
    System.out.println(p);
    return;
    }
    int n = up.length();
    for(int i =0;i

  • @srikrishnabejawada3126

    You are a magician Bro...❤❤❤

  • @poorpanda9033
    @poorpanda9033 Před 9 měsíci

    The way you explain stuff is insane ! Thanks

  • @jamespeterson7824
    @jamespeterson7824 Před 2 lety +1

    Amazing explanation..🙂

  • @535_jyotirmayeeparida6
    @535_jyotirmayeeparida6 Před 2 lety +6

    Can u please tell till when this course will be finished ??

  • @keshav-ip7vx
    @keshav-ip7vx Před rokem +1

    Hi Kunal can you please explain unique permutations with duplicates element I tried many times but I enable to map unique permutation logic with explained by your logic or can you just give me any hint.

  • @rishidas1641
    @rishidas1641 Před 4 dny

    Great explanation

  • @vasujhawar.6987
    @vasujhawar.6987 Před 2 lety +4

    and why you are not monetizing your content, you are putting so much efforts teaching here on CZcams.

  • @ashwinvarma9349
    @ashwinvarma9349 Před 2 lety +3

    9:15 have u reversed the incl. excl. signs?

  • @krishnasrivaibhav2245
    @krishnasrivaibhav2245 Před 3 měsíci

    At 20:12 , For counting the number of permutations, instead of processing and modifying the whole string we can just take the length of the string and perform factorial using recursion approach or whatever right!?

  • @ankurjain8467
    @ankurjain8467 Před rokem +3

    i am not able to get this 0,0 + ch concept (9:00 - 10:00), can anyone explain please, i have watched thirce but sill did not get

    • @ashwathks784
      @ashwathks784 Před rokem +1

      First thing to understand is how range works in substring. The code
      Substring (start index, end index)
      takes all the values from start index upto the end index-1. So for String "hello",
      Substring(0,2)
      gives "he" (i.e start index is included and end index is excluded).
      Just remember ( end index minus 1 )

  • @rajuchavan6490
    @rajuchavan6490 Před 8 měsíci

    Great man👏

  • @DipankarDas-cm1zs
    @DipankarDas-cm1zs Před 2 lety +3

    You must be maths teacher showing pattern🤯👌

  • @vijik2988
    @vijik2988 Před 2 lety +1

    Hello
    Please cover collections programs in this DSA course please I want to learn different programs on that topics

  • @Karan-vq5vg
    @Karan-vq5vg Před 2 lety +5

    Congratulations for AF1 and AJ5. They look dope and u deserve it bro 👌🏻😊

    • @kalwardin3510
      @kalwardin3510 Před 2 lety +2

      What are they???🙄

    • @twi4458
      @twi4458 Před 2 lety

      To Everyone who's learning in Cpp or knows, The code that I've written for permutations is running infinite times. Can anyone assist me.
      #include
      using namespace std;
      void permutation(string p, string up)
      {
      if (up.empty())
      {
      cout

    • @chaitanyaprasad6924
      @chaitanyaprasad6924 Před 2 lety

      @@twi4458 May be up.at(0) doesn;t remove the first elemrnt in unproccesed. Try adding up.substr(1) after that line

    • @twi4458
      @twi4458 Před 2 lety

      @@chaitanyaprasad6924 No, real issue is I had intialised p again, rather just pass it as argument will give desired result

    • @yuganshjain2519
      @yuganshjain2519 Před 2 lety

      @@kalwardin3510 shoes :p

  • @ajaysubramaniam4453
    @ajaysubramaniam4453 Před 3 měsíci

    Does the time complexity of permutations is n* n^n(no.of levels * time taken at each level)?

  • @RaviPatel-rj1re
    @RaviPatel-rj1re Před 2 lety +1

    hello kunal sir, when u going to start the oops video

  • @AyushAnand-qb8ke
    @AyushAnand-qb8ke Před 5 měsíci

    respect to you bhaiya

  • @gulshanmathur3738
    @gulshanmathur3738 Před rokem

    can u please do this for a non-repeating string🙏?

  • @vigyanta94
    @vigyanta94 Před 9 měsíci

    thanks kunal

  • @jk-sm6qr
    @jk-sm6qr Před 9 měsíci

    Thanks dude

  • @hammad8965
    @hammad8965 Před 2 lety +3

    OOP VIDEO 🙂

  • @astakuneru801
    @astakuneru801 Před rokem +1

    Which code editor do you use

  • @saurabhnikam
    @saurabhnikam Před 2 lety +1

    Please cover Kth permutation question
    Mostly asked

  • @rudram4534
    @rudram4534 Před 2 lety

    still watching consistently
    😀😀😀

  • @bedtimeanimationadventures

    after completing this coarse am is any need do any other things

  • @nimitagrawal6653
    @nimitagrawal6653 Před 2 lety +1

    hey kk can we use for loop inside a recursion function or not or why we are using loop in permutation question otherwise it will not a recursion based question

    • @KunalKushwaha
      @KunalKushwaha  Před 2 lety +1

      i already explained this. we use it when we dont have fixed amount of calls.

  • @akaay09
    @akaay09 Před 11 měsíci +3

    People in comments are all geniuses. (excluding me)
    Most of them understood this at once.
    I personally had to rewatch is many times and draw the recursion tree on notebook few times to understand it.
    Great video Kunal.
    Recursion is like that unless u do on paper few timess u dont understand.

    • @KunalKushwaha
      @KunalKushwaha  Před 11 měsíci

      No one understands recursion at once, what you did is the correct way.

  • @dszvivian
    @dszvivian Před 10 měsíci

    Can someone explain/or give the code for passing count inside the argument ??

  • @vivekpaliwal1876
    @vivekpaliwal1876 Před 2 lety +1

    You are using substring fxn...an extra overhead...explain with swaping metthod

  • @itshari5489
    @itshari5489 Před 11 měsíci

    Video 33 Completed!

  • @updownftw
    @updownftw Před 2 lety

    Thanks bro

  • @ashwineekrishna4422
    @ashwineekrishna4422 Před 2 lety

    I love ur video

  • @keepquit6925
    @keepquit6925 Před 5 měsíci +1

    11:45 kunal : for ( int i = o ; i < 3 ; i++) {
    System.out.println("In death");
    }
    👍👍👍👍

  • @vasujhawar.6987
    @vasujhawar.6987 Před 2 lety +4

    confusing, can improve more on teaching part, but great content. Actually I need to put lot of attention and go back understand, sort out some things myself, you speed goes insanely fast at some points. While explaining the algorithm if its something new, you can take out some time to explain the substring concept like exclusive and inclusive and how its working in the loop. i know it may get frustrating but the course teaching would be much more clean. And we will enjoy, it more. Btw thanks alot for explaining all these concepts, my thought process is building good day by day. And hope one day i will be able to crack those faagm technical interviews easily. Thanks alot.❤

  • @samrj444
    @samrj444 Před rokem

    Does anyone how can we modify the code for duplicates?

  • @vijaydave2656
    @vijaydave2656 Před 2 lety +1

    Do you have JacaScript course?

  • @md_arfin_cse
    @md_arfin_cse Před 2 lety +1

    Bro plz all java + dsa handwritten notes upload in github or drive

  • @manwinsingh7381
    @manwinsingh7381 Před 10 měsíci

    The permutations for string you explained is so great. But it seems like this approach doesn't go well for permutations of array. No video on permutations of array is getting into my head. Can you make one or send me a code

  • @dineshmadduru7043
    @dineshmadduru7043 Před měsícem

    🔥

  • @mrboyban
    @mrboyban Před 2 lety +1

    It seems that permutation of strings are trivial in comparison to a list of Integers. How can we go about doing permutation of a list of integers?

    • @derilraju2106
      @derilraju2106 Před 2 lety

      # Permutations
      ```python
      class Solution:
      def permute(self, nums: List[int]) -> List[List[int]]:
      available_items = nums.copy()
      self.final_ans = []
      current_path = []
      self.N = len(nums)
      self.backtracking(available_items,current_path)
      return self.final_ans
      def backtracking(self,available_items,current_path):
      if len(current_path) == self.N:
      self.final_ans.append(current_path)
      for i in range(len(available_items)):
      # current_path.append(available_items.pop(i))
      # self.backtracking(available_items,current_path)
      # available_items.insert(i,current_path.pop())
      self.backtracking(available_items[:i]+available_items[i+1:],current_path+[available_items[i]])
      ```

  • @namanrai7575
    @namanrai7575 Před 2 lety +4

    Kunal mujhe internship ke liye apply krna hai pr yeh smhj nhi aarha ki skills mai kya likhu maine yeh course shuru se abhi tk full follow kiya is course ke basis pr kuch skill likh saku mai 🥺 plz reply

    • @harrapanman621
      @harrapanman621 Před 2 lety

      Same

    • @rishika9102
      @rishika9102 Před 2 lety

      Hii Naman
      How's this course
      M new in programming
      Should I follow? Also m a medicore student

  • @aviralpal4164
    @aviralpal4164 Před 2 lety +4

    Bro the videos aare very nice but plz try to increase the frequency... Plz

  • @user-zk2os7fd5b
    @user-zk2os7fd5b Před 11 měsíci

    What will be the complexity of this?

  • @sourav1864
    @sourav1864 Před 2 lety +1

    👍👍

  • @shraddharuhela6477
    @shraddharuhela6477 Před rokem

    @KunalKushwaha please complete your course

  • @AbhishekSingh-ix2gi
    @AbhishekSingh-ix2gi Před 11 měsíci

    Legend

  • @manishajha19
    @manishajha19 Před 2 lety +2

    please explain frequency array and frequency string.... I mean please make a video on these

  • @shraddharuhela6477
    @shraddharuhela6477 Před rokem

    complete your dsa bootcamp please

  • @barkatul8672
    @barkatul8672 Před 2 lety

    ❤️

  • @samruddhighodake223
    @samruddhighodake223 Před 2 lety

    ❤❤❤

  • @BhojpuriyaRajaji3
    @BhojpuriyaRajaji3 Před 5 měsíci

    hello bahiya you will write a code of premutation this is :
    static void permutation(String p,String up) {
    if(up.isEmpty()) {
    System.out.print(p);
    return;
    }
    char ch=up.charAt(0);
    for(int i=0;i

  • @chinmaythaokar3560
    @chinmaythaokar3560 Před měsícem

    nice

  • @sarthaksinha5798
    @sarthaksinha5798 Před 2 lety +1

    Permutation code:
    import java.util.*;
    public class Main
    {
    public static void main(String[] args) {
    String s="abcd";
    ArrayList ans=permute(s,"");
    for(int i=0;i

  • @MrAman-zj6xi
    @MrAman-zj6xi Před rokem

    Trees ki videos kab aaengi ?

  • @determinator4491
    @determinator4491 Před 2 lety

    @Kunal Kushwaha can you tell us who is your guru. how did you teach your self DS Algo so well!

  • @anukritisingh4479
    @anukritisingh4479 Před rokem

    please upload dp videos soon

  • @pranaysingh757
    @pranaysingh757 Před 2 lety

    love this XD 15:31

  • @utkarshsharma1185
    @utkarshsharma1185 Před 2 lety +2

    Thanks.😀 please do not delete these videos later.

  • @kshitijpandey78
    @kshitijpandey78 Před 2 lety +1

    9:27 seems little confusing regarding inclusive and exclusive..

  • @jatinkoli3389
    @jatinkoli3389 Před 2 lety

    bhaiya thoda jldi jldi lectures daalo na plzz

  • @venutalla5932
    @venutalla5932 Před rokem

    😍😍😍

  • @anmolsinghal5156
    @anmolsinghal5156 Před rokem

    🥰

  • @dark_techyy
    @dark_techyy Před 2 lety +5

    Kunal, here is O(n) solution for permutation count -
    int pc( str )
    {
    if ( str is empty ) return 0;
    if( str.length() == 1) return 1;
    int original_len = str.length();
    int rem_len = pc( str.substring(1) );
    return ( original_len * rem_len );
    }
    I am building my thought process ... thanks!!! ❤️❤️✔️

  • @yadvendra_shukla
    @yadvendra_shukla Před 2 lety +1

    I am not getting Impatient just curious to know when OOPs will start

  • @ManojManoj-lx5rc
    @ManojManoj-lx5rc Před 3 měsíci

    17:41 anyone explain

  • @chaitanyaprasad6924
    @chaitanyaprasad6924 Před 2 lety +1

    Amazingly and feels Effortless!!!

  • @suk1779
    @suk1779 Před 2 lety

    You look like Amit Gupta

  • @DnyaneshPise
    @DnyaneshPise Před 2 měsíci

    --Ignore --
    Iterative way will be covered later .

  • @ceb418_yashnitinkamble6
    @ceb418_yashnitinkamble6 Před rokem +1

    11:43 => How Induction motor starts ( 3idiots) 😂😂

  • @Cheesypop17
    @Cheesypop17 Před 4 měsíci

    Day 13