Pascal Triangle | Finding nCr in minimal time

Поделиться
HTML-код
  • Опубликовано: 2 дек 2024

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

  • @takeUforward
    @takeUforward  Год назад +33

    Please watch our new video on the same topic: ruclips.net/video/bR7mQgwQ_o8/видео.html

    • @arpitbhavsar6020
      @arpitbhavsar6020 5 месяцев назад +4

      Recursion without a base case 😁😁

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

      Bro one dout my code is executed in codestudio but not executed in leetcode y😢

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

      @@arpitbhavsar6020 🤣🤣

  • @takeUforward
    @takeUforward  Год назад +187

    Please do like the video, it won't cost you anything, but it will highly motivate me :)

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

      Did this problem move to easy from hard?

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

      Ofcourse we do......
      But not only for motivation,but also for your efforts.......😊
      Such type of free content is very helpful for those persons who are not capable to buy an expensive course......👍✨

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

      done bhaiya

  • @divyareddy7622
    @divyareddy7622 Год назад +120

    your videos actually got me out of depression and gave me aa hope at becoming better at DSA!!!!

  • @naveensaicremsiyadlapalli3769
    @naveensaicremsiyadlapalli3769 Год назад +69

    #include
    using namespace std;
    class PascalsTriangle{
    private:
    int Ncr(int n,int r)
    {
    int ans=1;
    for(int i=1;i

  • @swacharahman5084
    @swacharahman5084 Год назад +46

    I always amazed the level of intelligence you have brother, Thank you for this playlist, Trust me your playlist is making thousands/millions of students better coder.

  • @p1xel3434
    @p1xel3434 Год назад +14

    nCr = nC(n-r) so, we can take i < min(n, n - r) it is more efficient

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

      will not affect complexity though so no need

  • @md.ualiurrahmanrahat2400
    @md.ualiurrahmanrahat2400 9 месяцев назад +3

    used to solve this problem by myself but the solution was brute force method. Never have I ever thought this problem can be solved by such observation. Hats off to the effort Striver puts in his video. Incredible!

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

    450 questions will need many months of continuous hard work. Hats off bhaiya

    • @takeUforward
      @takeUforward  Год назад +27

      We have already covered > 60%, trees : 56, graphs: 56 dp: 56 ;)

    • @AdityaSingh-in6ce
      @AdityaSingh-in6ce Год назад

      there is no good playlist for string on RUclips only one or two videos and its and important topic please start with string@@takeUforward

  • @akashkumarmaurya2319
    @akashkumarmaurya2319 Год назад +3

    very very easy solutoion ..every time i can think about only brute solution but u gived both the solution at same time which is fantastic ...amazing love the way you teach

  • @priy9491
    @priy9491 6 месяцев назад +10

    We can reduce the time complexity to (n^2/2) by running the inner loop only for row/2 times and assigning values symmetrically because the pascals triangle is symmetric.
    Thank you for the videos!

    • @RajNamdev_19
      @RajNamdev_19 5 месяцев назад +2

      that's what I was thinking

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

      To add symmetry to the result, you need to run a loop right? Or is there any other ways?

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

      Can you please explain Space complexity of both the approaches of variation 3? Like how come it is O(1)(Written in the sheets notes and also strivers mentioned in the video

    • @AnkitKumar-su1yi
      @AnkitKumar-su1yi 3 месяца назад

      @@priyankasoni5537 yes its O(1) because we are not using any extra space like we are asked to print the pascals triangle so we are just using a list to store and print it that's it

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

      @@AnkitKumar-su1yi thank u understood

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

    Frankly speaking I am not able to understand Pascal triangle problem until I watched this video, Earlier I see almost 5-7 videos on RUclips , from those videos I Get what is the pascal triangle, but didn't able to solve the problem. After watching this video, I have confidence to solve any problem based on pascal triangle.

  • @mirishfaqhussain6168
    @mirishfaqhussain6168 2 месяца назад +1

    His involvement while he delivers the lecture is motivational ❤

  • @chethanprabhu4475
    @chethanprabhu4475 Год назад +11

    Finally I was able to solve a problem before looking at your solution. That too hard one 😎 All thanks to your foundational videos on Arrays ♥
    Watched the video anyways. Just to look at your approach

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

    Understood! Super awesome explanation as always, thank you very very much for your effort!!

  • @NikitaSingh-kz2ii
    @NikitaSingh-kz2ii Год назад +1

    APPROACH TO THIS PROBLEM IS SUPER SE V BHT BHT BHT ZYADA UPAR🔥🔥🔥🔥🔥🔥🔥🔥🔥

  • @parasarora5869
    @parasarora5869 9 дней назад

    That was fabulous. I didn't know about nCr unfortunately, but I learned it separately from other videos. Thanks for the great video. ❤

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

    i think best teacher present is this man. Please try to motivate him and support him. Love you bro

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

    3:40 4th type question can be asked is sum of nth row
    ans :simple left lift 1 by (n-1) that is 1

  • @RaunitJaiswal-s9v
    @RaunitJaiswal-s9v 2 месяца назад

    - [00:02](ruclips.net/video/bR7mQgwQ_o8/видео.html) 🧠 Overview of the DS Algo course and problem statement of Pascal's triangle
    - The course is extensive and covers over 400 problems in DS algo
    - Introduction to Pascal's triangle and its structure
    - Explanation of three types of problems related to Pascal's triangle
    - [03:53](ruclips.net/video/bR7mQgwQ_o8/видео.html) 🧮 Calculating nCr using brute force method
    - Discussing the traditional brute force method to calculate nCr
    - Explaining the formula for nCr and line-by-line code implementation for nCr calculation
    - Detailed explanation of time complexity considerations and space complexity
    - [10:55](ruclips.net/video/bR7mQgwQ_o8/видео.html) 🖨 Optimizing the calculation of nth row of Pascal's triangle
    - Introducing the optimization to calculate the nth row more efficiently
    - Deriving a formula based on observations to calculate elements of the nth row
    - Implementing the optimized code for generating and printing the nth row
    - [19:30](ruclips.net/video/bR7mQgwQ_o8/видео.html) 🪙 Generating the entire Pascal's triangle efficiently
    - Explaining a naive brute force approach to generate the entire Pascal's triangle
    - Describing a more optimized method using the second type of problem solution
    - Discussing the time complexity reduction strategy for generating the complete Pascal's triangle with improved efficiency
    - [22:02](ruclips.net/video/bR7mQgwQ_o8/видео.html) 🧮 Solution complexity analysis
    - Optimal time complexity for type 3 problem is O(n^2)
    - Generating each row has a time complexity of O(n)
    - Using long long data type is recommended due to potential large number calculations
    - [24:24](ruclips.net/video/bR7mQgwQ_o8/видео.html) 📝 Coding the solution
    - Write a function to generate a row based on the row number
    - Use the function to generate the entire triangle structure
    - Code quality is important in interviews, focus on readability and structure
    - [26:04](ruclips.net/video/bR7mQgwQ_o8/видео.html) 📚 Final notes and channel engagement
    - Encouragement to like the video to support content creation
    - Importance of subscribing for more content
    - Follow links in the description for further engagement on social media platforms

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

    Thank you very much for this amazing course 🎉❤

  • @mehulthuletiya497
    @mehulthuletiya497 Год назад +11

    Timestamps
    00:51 What do you mean by Pascal's Triangle?
    02:27 3 Types of problems that might be asked to you
    03:52 1st Type Problem Statement
    06:56 Formula shortcut
    07:49 Code
    09:46 Complexity
    10:31 recap
    10:54 2nd Type Problem Statement
    11:38 Brute force
    12:18 Complexity
    12:37 Optimal solution & Deep dive into formula and observation
    15:11 Minor changes and formula
    17:27 Pseudocode
    19:06 Complexity
    19:21 3rd Type Problem Statement
    20:00 Brute force
    20:07 Pseudocode
    21:17 Complexity
    21:50 Optimal Solution
    22:19 Code
    25:16 Interview Tip : Code Quality

    • @takeUforward
      @takeUforward  Год назад +11

      Just a suggestion, don’t add ‘-‘ in timestamps, its
      00:05 Intro
      Just a space :) it becomes easier for me to copy paste.
      Thank you for always adding it up 🫶

  • @deokumarjnu
    @deokumarjnu 10 месяцев назад +2

    Thanks Striver, my code is not passing because of spacing issue in between digits😌 we can do in more way, pascle is nothing but power of 11, so if it's asking for N, then just run a loop from 1 to N and calculate the power(11, i), push into the vector if spacing is not considered. Stuck with spacing.

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

    🔥🔥 love your teaching 🤗 you are my inspiration

  • @AshutoshVerma-d4z
    @AshutoshVerma-d4z 9 месяцев назад +2

    instead, for the first problem, the loop should run for min(r, n-r) and not 'r' because if it is 10C7, r is bigger than n-r

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

      I tried solving ncr problem with this approach but still test cases are failing for ex 69c43
      You can search ncr problem gfg ... Can you try solving with first approach along with min(n-r, r) modification and let me know?

  • @priyotoshsahaThePowerOf23
    @priyotoshsahaThePowerOf23 Год назад +3

    Thanks for taking us forward,, Striver❤

  • @venup2813
    @venup2813 10 месяцев назад +2

    Excellent 👌

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

    It's a very tricky problem based of math nCr.. approach by you is really good

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

    00:04 Pascal's Triangle - A pattern of numbers where each number is the sum of the two directly above it.
    02:05 Finding element at a specific row and column in Pascal Triangle.
    06:48 Shortcut for finding nCr in minimal time: multiply numbers from n to n-r+1.
    09:11 The numerator in nCr calculation keeps getting multiplied and then divided with the value of i+1.
    13:39 Pascal Triangle formula is used to find nCr in minimal time.
    15:59 Pascal Triangle for finding nCr
    20:22 Generate Pascal Triangle row in minimal time
    22:16 Optimal solution for finding nCr in minimal time
    26:16 The RUclipsr encourages viewers to subscribe and engage with their content.

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

    You are the GOD of dsa

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

    Your explanation is superb ❤️❤️..
    Ride on Striver.

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

    1st -> 3:51
    2nd -> 10:55
    3rd -> 19:21

  • @SumitMishra-rb8zo
    @SumitMishra-rb8zo 3 месяца назад

    For Part 1- 3:51 to 10:52, part 2- 10:56 to 19:14

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

    Python code for 1st variant
    def pascal(n,r):
    res = 1
    for i in range(r):
    res = res * (n-i)
    res = res/(i+1)
    print(res)
    n = int(input("Value of N"))
    r = int(input("Value of R"))
    pascal(n-1,r-1)

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

    congrats striver for 700k and happy Diwali🎆🎆🎇🎇🧨🧨

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

    Amazing explanation. thanks a ton. Working harder to make u proud.

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

    Striver!!Please upload videos on binary search.

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

    00:04 Pascal's Triangle - A pattern of numbers where each number is the sum of the two directly above it.
    02:05 Finding element at a specific row and column in Pascal Triangle.
    06:48 Shortcut for finding nCr in minimal time: multiply numbers from n to n-r+1.
    09:11 The numerator in nCr calculation keeps getting multiplied and then divided with the value of i+1.
    13:39 Pascal Triangle formula is used to find nCr in minimal time.
    15:59 Pascal Triangle for finding nCr
    20:22 Generate Pascal Triangle row in minimal time
    22:16 Optimal solution for finding nCr in minimal time
    26:16 The RUclipsr encourages viewers to subscribe and engage with their content.
    Crafted by jai rajputana

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

    verrry good explanation and even the methods of solving the given problem😇

  • @suyashshinde2971
    @suyashshinde2971 Год назад +3

    SDE Sheet: Day 1 Problem 2 Done!

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

    UNDERSTOODDDD STRIVER !!!

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

    Very Nice Explanation

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

    class Solution(object):
    def pascal(self, numRows):
    pt=[[1]]*(numRows)
    pt[0]=[1]
    for i in range(1,numRows):
    pt[i]=[1]*(i+1)
    for j in range(1,i):
    pt[i][j] = pt[i-1][j-1]+pt[i-1][j]
    return pt
    for generating entire pascal's triangle.

  • @akshatmalviya8563
    @akshatmalviya8563 3 месяца назад +1

    I did the last part with dp. Complexity was O(n^2)

  • @jatinsareen7771
    @jatinsareen7771 Год назад +20

    Hey striver, I was having a doubt that will you cover up some competitive programming concepts in this course or not?? Because covering all cp topics will make this course legendary and no one will be able to surpass this level in generations.

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

    Understood brother, Thanks for this amazing amazing explanation...

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

    Each row is binomial expansion coefficient for certain power. We can directly use combination formula to get it .

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

    Loved it, very well explained!

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

    We can use ncr=nc(n-r) when r>n/2 10:44

  • @Mohit-s9c2v
    @Mohit-s9c2v 14 дней назад

    understood, Thankyou Striver

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

    Really amazed by ur Intelligence but i don't know why i am not think this kind of solution on my own why 😭😭😭

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

    superb explanation

  • @psrs985
    @psrs985 8 месяцев назад +1

    Or you could use the previously stored values to generate the lower rows which will take O(n*n) TC

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

    Awesome video. Thankyou striver ❤❤

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

    Awesome explanation as usual💗

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

    NICE SUPER EXCELLENT MOTIVATED

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

    You are the best !

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

    Excellent👍👏

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

    whats the intiution behind (n-1)C(r-1) ? can someone plz tell

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

      I am also looking for its intuition, thanks for raising this , but nobody has still answered on it yet

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

      12:43 yaha se dekh Bhai agr phir bhi na smjh aye TB btayio

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

    Samaj aa gaya!!

  • @vamsikrishnagannamaneni912
    @vamsikrishnagannamaneni912 8 дней назад

    7:22? I didnot understand part? 10/3 will give me nothing? what does that mean ? it will give 3.333 or 3 if rounded right?

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

    Great work....

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

    understood 😇

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

    Keep doing great 👍🎉

  • @AshishSahu-ef9rl
    @AshishSahu-ef9rl 3 месяца назад

    Maja aagaya 😊

  • @rishabhgupta1222
    @rishabhgupta1222 7 месяцев назад

    Understood very well

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

    good video ... understood

  • @nitinchandrasahu1774
    @nitinchandrasahu1774 8 месяцев назад +1

    Try This. 😁😁
    vector generate(int numRows) {
    vector ans;
    for(int i = 0; i

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

    understood ..Thanks🙂

  • @heyOrca2711
    @heyOrca2711 8 месяцев назад +1

    Understood! sir

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

    Hi, Did anyone here faced probelm in Test Case 50 of Gfg. If yes, then can you please expalin how did you tackle?

  • @ChiragDhamija-b4n
    @ChiragDhamija-b4n 6 месяцев назад

    another solution for generating pascal triangle , its Time Complexity is O(n^2/2) and space complexity to O(n^2/2)
    class Solution {
    public:
    vector generate(int numRows)
    {
    vector ans(numRows);
    for(int i=0;i

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

    Understood, sir.

  • @hetpatel7399
    @hetpatel7399 Год назад +3

    Aap 3rd year me the tab aap kitane hours Coding karate the??

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

    Understood✅🔥🔥

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

    understood. Respect!

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

    class Solution{
    public:
    vector generateRow(int row) {
    long long ans = 1;
    vector ansRow;
    ansRow.push_back(1); //inserting the 1st element
    //calculate the rest of the elements:
    for (int col = 1; col < row; col++) {
    ans = (ans * (row - col)));
    ans = (ans / col));
    ansRow.push_back(ans);
    }
    return ansRow;
    }
    vector nthRowOfPascalTriangle(int n) {
    // code here
    vector ans;
    //store the entire pascal's triangle:
    for (int row = 1; row

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

    Public class{
    Public static int[][]pascal Triangle(int N)
    int[][]triangle =new int(N)(N);
    for(inti=0;i

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

    Thanks a lot my ninja.....

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

    understood!!

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

    Understood, thank you.

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

    @striver bhaiya could u please make a video on what are sample input output test cases constraints and how to code on online compilers on coding platforms as i am beginner and i am facing difficulty in understanding these

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

    This is great...I hope you earn enough from all this 😊

  • @AS-gf3ci
    @AS-gf3ci Год назад

    Q.2 Code in C++
    #include
    using namespace std;
    void printRow(int n) { // T.C --> O(n) S.C --> O(1)
    int ans = 1;
    cout

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

    understood, thank you!

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

    understood :) thankyou striver

  • @ABCXYZ-yv5ri
    @ABCXYZ-yv5ri Год назад

    16:23 😂😂
    Give Oscar to editor

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

    Can you pls pls plsssss do strings before binary search next plsss🙏 ?

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

    We personally call it Parallel computing or Stacking method.

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

    Understood 🎉

  • @AlokSingh-jw8fr
    @AlokSingh-jw8fr Год назад +1

    int mod = 1000000007;
    int nCr(int n, int r){
    if(n

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

    Bhaiya, Combination wale question ki bhi list bana do please, Ya phir Combination ke concept ke baare mai ek acchi video bana do.

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

    TRIED MYSELF
    class Solution {
    public:
    vector generate(int numRows) {
    vector ans(numRows);
    for(int i=0;i

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

    understood bhaiya

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

    Thanks bro. Understood

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

    Wonderful

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

    Hey guys, I'm not understanding why we need to solve this using this formula. It's taking same amount of time and complexity that we needed to solve the problem using loops

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

      The number wont fit in any integer value it will overflow ... try solving thee question in gfg you will see that the results are in -ve

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

    I don't get the point where he bring the formula. How did he arrive that formula will give the output? anyone knows the answer?

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

    Understood❤️

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

    thank you Anna

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

    Understood, thanks :)