G-29. Word Ladder - I | Shortest Paths

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

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

  • @takeUforward
    @takeUforward  2 года назад +66

    Let's continue the habit of commenting “understood” if you got the entire video. Please give it a like too, you don't 😞
    Do follow me on Instagram: striver_79

  • @ayushpatel2171
    @ayushpatel2171 Год назад +173

    Honestly I feel that the hard part about this question was figuring out that it is a graph question. But since I was following the playlist I already knew that it is a graph question. Which is why upon looking the question the intuition came easily to me.

    • @ridj41
      @ridj41 Год назад +12

      naah since,src and dest pointers were there, it was easy to figure out it was a graph,but rest was difficult

    • @sahilbani7020
      @sahilbani7020 4 месяца назад +6

      How is this even a Graph problem?

    • @GauravKumar-xc4kr
      @GauravKumar-xc4kr 8 дней назад

      so us bro🫂🫂same thought

    • @sumit5639
      @sumit5639 День назад

      same thought

  • @topgunn6683
    @topgunn6683 2 года назад +116

    Watching your lectures before the Google on-site interview

    • @harshdasila6680
      @harshdasila6680 2 года назад +20

      if you got selected refer me too :)

    • @aryashjain7893
      @aryashjain7893 2 года назад +7

      linkedln id dedo bhaiya XD

    • @gp7060
      @gp7060 2 года назад +4

      I have my google on-site next month.. want to discuss on prep so can we connect on LinkedIn ?

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

      how did it go?

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

      Ok Googler

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

    The patience with which you do dry run is really commendable!!!!🔥

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

    Instead of erasing the string from the set, you can take unordered_map and mark it as true which is generally used in BFS for marking visited nodes.

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

      ya but that will unnecessarily increase the space complexity

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

      Terrible idea as it not only increases SC , but also increases COLLISIONS leading to worst case in hashmap

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

      @@jagannathan1014 can you please elaborate why it is a terrible idea and how will it increase collisions

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

      yeah you can do it too...

    • @Predator-pv7of
      @Predator-pv7of 5 месяцев назад

      @@abhinavgupta7048 it is generally advised to not use unordered sets and maps, and due to collisions, the worst case time complexity to access elements becomes O(n)

  • @manasranjanmahapatra3729
    @manasranjanmahapatra3729 2 года назад +42

    Understood. Graph is slightly tough, but you are making it easy for us thank you🤘.

  • @gorilla_coder-el6kf
    @gorilla_coder-el6kf Год назад +4

    thank you striver i was able to solve this problem on my own because of your graph playlist. heartiful thanks for this playlist.this is the best out there.

  • @prashantkashyap171
    @prashantkashyap171 2 года назад +21

    For second time I was able to solve GFG hard problem on my own , such a nice teaching. Though I doubt if such approach would've hit, if it hadn't been a part of Graph series.

  • @manasvinsharma1740
    @manasvinsharma1740 11 месяцев назад +9

    One more approach can be making the graph first & then finding the shortest path in it. We can make a graph where there will be a edge between all those nodes who differ by only 1 character. The graph creation will take time = (N^2)*M (where N is length of words array & M is length of longest word). Once graph is made we can apply BFS & also handle the case where target cannot reach.

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

      I was thinking the same way

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

      i tried this but it says tle??
      class Solution(object):
      def ladderLength(self, beginWord, endWord, wordList):
      """
      :type beginWord: str
      :type endWord: str
      :type wordList: List[str]
      :rtype: int
      """
      def issimilar(s1,s2):
      if len(s1)!=len(s2):
      return False
      l=len(s1)
      flag=True
      for i in range(l):
      if s1[i]!=s2[i] and flag==False:
      return False
      if s1[i]!=s2[i]:
      flag=False
      return True
      if endWord in wordList:
      final=wordList.index(endWord)
      que=[]

      n=len(wordList)
      adj=[[] for _ in range(n)]
      visited=[0 for _ in range(n)]
      for i in range(n-1):
      for j in range(1,n):
      if issimilar(wordList[i],wordList[j]):
      adj[i].append(j)
      adj[j].append(i)
      for i in range(n):
      if issimilar(wordList[i],beginWord):
      que.append((i,2))
      visited[i]=1


      while que:
      v,dis=que.pop(0)
      if v==final:
      return dis
      for i in adj[v]:
      if visited[i]==0:
      que.append((i,dis+1))
      visited[i]=1
      return 0


      can someone help??

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

      @@jyothiyadav2595
      also created the graph first and it worked for me
      class Solution {
      class Pair {
      int n, d;
      Pair(int n ,int d) {
      this.n = n;
      this.d = d;
      }
      }
      boolean check(String st1, String st2) {
      int c=0;
      for(int i=0; i

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

    i just watched the logic you have used and i was able to write code by myself , Thanks..🙏

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

    I solved this question in the following way which gives me the time complexity of O(n*m). I basically created the graph using adj list method and performed normal BFS instead of checking words in the set after modifying each letter of word.
    class Solution {
    public:
    bool checkDiff(string a, string b){
    int ptr=0, count=0;
    while(ptr!=a.size()){
    if(a[ptr]==b[ptr]){
    ptr++;
    continue;
    }
    ptr++;
    count++;
    }
    return count==1;
    }
    int ladderLength(string beginWord, string endWord, vector& wordList) {
    wordList.insert(wordList.begin(), beginWord);
    int n = wordList.size();
    vector adj[n];
    //Create undirected graph
    for(int i=0; i

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

      The graph creation will take time = (N^2)*M (where N is length of words array & M is length of longest word).

  • @kumarsaurav1818
    @kumarsaurav1818 19 дней назад +1

    thanks striver for this content . i was able to solve this problem by own ,because the way you clear every concept

  • @cinime
    @cinime 2 года назад +6

    Understood! What an excellent explanation as always, thank you very much!!

  • @aryashjain7893
    @aryashjain7893 2 года назад +1

    Understood , a big fan of your zero typing errors !!!!! awesome video as always thank you sir ji

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

    Thank you so much Striver for explaining problems in a very understandable way. Kudos to you for achieving lot at a very young age in the world of Top-tech

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

    I remember this problem came in Leetcode daily in Feb 2022. Just copied the code and did not understand anything. One year later I understood the code. Thank you for the explanation.

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

      excellent memory brother

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

    You gave me the confidence of solving a leetcode hard! The step by step explanation is wonderful!!

  • @SumitKeshariMCS
    @SumitKeshariMCS 2 года назад +16

    Bravo, amazing!!
    I was always afraid of this question. But you explained it sooooo well. Thanks a lot striver.

    • @sypher4735
      @sypher4735 2 года назад +3

      Yeah, it came out to be very simple.

    • @harishchoudhary9662
      @harishchoudhary9662 2 года назад +6

      It took me around one day to solve these question using my method but in the end it got TLE on leetcode and now after seeing the solution the questions seems easy.

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

    Happy Teacher's day to you. You have helped so many of us to get their DSA concepts right. Kudos to you and thanks a lot :)

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

    Hey Striver !! Your Videos are reaallly really helpful, easy to understand, and hats off for your amazing work and efforts.

  • @anandkalpe2155
    @anandkalpe2155 2 года назад +4

    Hey @striver this solution is exceeding time limit in leetcode, so instead of assigning all letter from a-z , I tried with letters only in wordList and it worked.
    I just added below function to get all the letters into vector-
    private:
    vector letters(vector&wordList){
    unordered_set st;
    vector result;
    for(auto it: wordList){
    for(int i=0;i

    • @subratkumar7359
      @subratkumar7359 2 года назад +3

      I wrote the same code and it didn't give TLE.

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

    Understood. You are brilliant in finding the suitable example to explain the algorithm....!! Thanks a lot🙌❤

  • @tanujaSangwan
    @tanujaSangwan 4 месяца назад +1

    My approach is different: This can be visualised as an undirected weighted graph with unit weights. We can created graph with word as each node and all neighbours are the words with only one character changed. Then apply exact same BFS as we implement in the previous video. No code changes at all. Quite simple and passes all testcases.
    bool isAdjacent(const string& word1, const string& word2) {
    int diff = 0;
    for (int i = 0; i < word1.size(); ++i) {
    if (word1[i] != word2[i]) {
    diff++;
    if (diff > 1) return false;
    }
    }
    return diff == 1;
    }
    // Function to create the adjacency list graph
    unordered_map buildGraph(vector& wordList) {
    unordered_map graph;
    // Add an empty list for each word
    for (const string& word : wordList) {
    graph[word] = {};
    }
    // Connect each word with its adjacent words
    for (int i = 0; i < wordList.size(); ++i) {
    for (int j = i + 1; j < wordList.size(); ++j) {
    if (isAdjacent(wordList[i], wordList[j])) {
    graph[wordList[i]].push_back(wordList[j]);
    graph[wordList[j]].push_back(wordList[i]);
    }
    }
    }
    return graph;
    }
    int wordLadderLength(string startWord, string targetWord, vector& wordList) {
    // If targetWord is not in the wordList, no valid transformation is possible
    if (find(wordList.begin(), wordList.end(), targetWord) == wordList.end()) {
    return 0;
    }
    // Include the startWord in the word list if it's not already there
    if (find(wordList.begin(), wordList.end(), startWord) == wordList.end()) {
    wordList.push_back(startWord);
    }
    // Build the graph from the word list
    unordered_map graph = buildGraph(wordList);
    // Perform BFS to find the shortest path
    unordered_map distance;
    for (const string& word : wordList) {
    distance[word] = INT_MAX; // Initialize distances with infinity
    }
    distance[startWord] = 1;
    queue q;
    q.push(startWord);
    while (!q.empty()) {
    string currentWord = q.front();
    q.pop();
    // Traverse all neighbors of the current word
    for (const string& neighbor : graph[currentWord]) {
    if (distance[neighbor] == INT_MAX) { // If not visited
    distance[neighbor] = distance[currentWord] + 1;
    q.push(neighbor);
    // If we reach the target word, return the distance
    if (neighbor == targetWord) {
    return distance[neighbor];
    }
    }
    }
    }
    // If BFS completes without finding the targetWord, return 0
    return 0;
    }

    • @manjotsingh8157
      @manjotsingh8157 3 месяца назад +2

      can u share the code?

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

      love it, just higher time complexity while building the graph--can go up to N^2

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

      @@divyareddy7622 yeah

  • @rajatsaraf237
    @rajatsaraf237 2 года назад +4

    Thanks striver, Was able to solve it by myself although my approach was different from this,
    I considered every node has a edge to every other node and each edge has a weight equal to the difference b/w the 2 vertices(words)
    Then just used the shortest distance for an undirected graph using BFS algo

    • @arjunrai8126
      @arjunrai8126 2 года назад

      By node you mean the words right

    • @rajatsaraf237
      @rajatsaraf237 2 года назад

      @@arjunrai8126 yes

    • @arjunrai8126
      @arjunrai8126 2 года назад

      @@rajatsaraf237 by difference bw the words you mean the number of positions where the chars are different , right? Great solution

    • @rajatsaraf237
      @rajatsaraf237 2 года назад

      @@arjunrai8126 yes, that char difference can be considered as the weight b/w two words

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

      W bro

  • @AyushMishra-b8w
    @AyushMishra-b8w Год назад

    you can make any difficult question way too easy. Just loved your teaching style .😊😊😊😊

  • @giteshkhanna2633
    @giteshkhanna2633 26 дней назад

    Since its bfs, steps are going to be common for each level traversal. So no need to save the steps inside queue. Can maintain it outside & keep incrementing as we finish one traversal.

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

    Your explanation is brilliant, bro!!

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

    we can create graph from the word list and do topological sort on it. that will give only limited characters that exists in word list and we can try out replacing characters present in word list only. with topological sort the we get array as h,d,l,c,o,t,g.
    Now I know before o I have 4 characters to try for first place i.e. h,d,l,c. then for g I have 2 characters o and t
    with same BFS algoritm we can avoid trying out all a-z combination and also it makes sense logically because after transformation if word should be from word list then try out with characters that are only in wordlist. if z is not present in wordlist in any word why to try out with that. Considering if there is no cycle in it. This needs to be asked to interviewer whether there will be cycle in the graph. If cycle exists then the other approach is to iterate through all the wordlist and put them in set. Atleast you will be comparing less characters then a-z

  • @KratosProton
    @KratosProton 2 года назад +3

    Understood, quality content!

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

    Simple bruteForce can be : for each element(say "hit") in list, compare it with the all other elements. If the only 1 char varies that we can add as part of adjacency List of "hit" and so on.

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

    Very clear explanation. Hats off to your effort .

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

    Was able to solve the problem on my own only because of you...Thank U😊😊
    Understood Bhaiya..

  • @yasaswinikarumuri9590
    @yasaswinikarumuri9590 2 года назад +1

    Such a great explanation! Please continue the playlist

  • @senvikas1946
    @senvikas1946 2 года назад

    I did like and kya hi samjhate ho yrr bhaiya, maza hi aa gaya. UNDERSTOOD

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

    your explanation made it too easy🤗

  • @sukhpreetsingh5200
    @sukhpreetsingh5200 2 года назад +2

    excellent explanation as always, thank you very much!! Amazing playlist

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

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

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

    For string set.find() method takes O(N) instead of logn.... It increases the complexity

  • @Engineer_Padai
    @Engineer_Padai 2 года назад +2

    thanks striver bhai, for this awesome series

  • @harleenkaur7751
    @harleenkaur7751 2 года назад +2

    Thanks a lot, Striver. Best explanation . 😀

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

    Briliiantly explained
    When I read the question for the first time, I was so scared and I had no clue how to proceed.
    I was thing of sets and recursion but I did not even try coz Iwas scared.
    But u made it soo simple that after watching half of the video, I did it in 1 go .
    U r amazing striver.
    please continue to bring such playlists , its so helpful

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

      were you thinking about backtracking too in first go?

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

    Understood!! Very well explained!!!

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

    understood. Able to write the code by myself after getting the intuition.

  • @Sara-ed3jq
    @Sara-ed3jq Год назад

    Best series on graph

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

    Great work, Raj!

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

    Understood 🎉

  • @1tav0
    @1tav0 2 года назад +2

    understood! amazing like always.

  • @Amitkumar-nk5mo
    @Amitkumar-nk5mo Год назад

    understood....your explainations are lucid ....keep up the good work...

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

    this question was amazing , thanks striver

  • @pratikshadhole6694
    @pratikshadhole6694 2 года назад +1

    GOAT❤ you are great striver

  • @rishavkumar2182
    @rishavkumar2182 2 года назад +2

    great explanation!!

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

    One can figure out that it was a graph question by looking at src & dest strings, & shortest sequence of transformations were asked...So, some 'feeling' of shortest path from src (beginWord) to dest (endWord) comes...

  • @user-rf3he9uv5m
    @user-rf3he9uv5m Год назад

    UNDERSTOOD striver!

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

    yours HArdwork is really ❤

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

    thanks striver for such wonderful explanation.

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

    best method to solve this question 😁thanks striver
    I got your algo and tried myself , just make a little mistake but it was corrected bcoz of your code

  • @rushikeshg25
    @rushikeshg25 2 года назад +1

    Thank you for such a wonderful Explanation !!!!

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

    I have a different solution, i created a graph representation using adjacency list (word is the key, words it can transform into are list values), then applied shortest distance method using dijkstra's algorithm.

    • @AnushkaVijay-cv7tk
      @AnushkaVijay-cv7tk Год назад

      can u please share your code....im having difficulty in making adjacency list

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

    14:36 Odissshhhaa

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

    another approach is to use bi-directional BFS. same time complexity but half the runtime

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

    understood, thanks for the detail explanation

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

    Hi, awesome video. Just add one base condition to handle this case, according to your code it will give 1 but it should return 0..
    1
    der
    der
    der

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

    It's a high time youtube should add a super like button.

  • @GoodLuck-dv2zu
    @GoodLuck-dv2zu 2 года назад +1

    As always AMAZING!

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

    Instead of converting str to all the possible strings
    we can simply compare str with all the strings in word_List and see if the difference btw them is 1 or less and if so then add in queue to do BFS.

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

    understood ❤

  • @sherlockholmes1605
    @sherlockholmes1605 2 года назад

    Amazing explanation and logic! kuch bhi bolo, Striver bhai is built different!

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

    thnaku striver ...you are making my carrir

  • @breakthecode8323
    @breakthecode8323 2 года назад +2

    Striver, thank you so much for graph series, per please can you also make series on segement trees, tried learning from so many places, but nowhere satisfactory content is found, bana do na ek series please

  • @GM-rw5fl
    @GM-rw5fl 2 года назад

    How u make the hard question like a cake work amazing brother ......

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

    once i knew it was a graph question, i tried this myself :
    class Solution {
    private:
    bool check(const string& w1, const string& w2) {
    int differences = 0;
    for (int i = 0; i < w1.length(); ++i) {
    if (w1[i] != w2[i]) {
    differences++;
    if (differences > 1) return false;
    }
    }
    return true;
    }
    public:
    int ladderLength(string beginWord, string endWord, vector& wordList) {
    bool possible = false;
    int index = -1;
    for (int i = 0; i < wordList.size(); i++) {
    if (wordList[i] == endWord) {
    index = i;
    possible = true;
    break;
    }
    }
    if (!possible) return 0;

    wordList.insert(wordList.begin(), beginWord);
    int n = wordList.size();
    vector adj(n);
    for (int i = 0; i < n; i++) {
    for (int j = i + 1; j < n; j++) {
    if (check(wordList[i], wordList[j])) {
    adj[i].push_back(j);
    adj[j].push_back(i);
    }
    }
    }
    vector distance(n, INT_MAX);
    queue q;
    q.push({0, 0});
    distance[0] = 0;
    while (!q.empty()) {
    int node = q.front().first;
    int dist = q.front().second;
    q.pop();
    for (int val : adj[node]) {
    if (distance[val] > dist + 1) {
    distance[val] = dist + 1;
    q.push({val, dist + 1});
    }
    }
    }
    if (distance[index + 1] < INT_MAX) return distance[index + 1] + 1;
    return 0;
    }
    };

  • @DharnaMittal-vz9fi
    @DharnaMittal-vz9fi 6 месяцев назад

    Striver you are the best

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

    A Small Optimization Can be MADE further ...
    So currently, for each index of the string we are traversing 26 times representing 26 characters / alphabets in the English Dictionary. But what if we exactly store the possible set of characters that are only available in wordList.
    There comes the optimization where we store set of all alphabets for each index & always iterate those in the while loop of queue.

  • @urstrulyjatin
    @urstrulyjatin 28 дней назад

    Meeri jhann!! understood!

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

    really don't understand why this is marked as "hard", this is one of the easiest problems, and it can also be considered as tree too.. regardless.. thank you Striver❤

  • @aditikumari8204
    @aditikumari8204 2 года назад +1

    understood..thanks bhaiya

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

    Hey Striver! Understood the concept thoroughly. Had one doubt, my first intuition was to use DP in this question instead of graph. SO why graph is more optimal then dp?

    • @brokegod5871
      @brokegod5871 5 месяцев назад +1

      1) The question has a source to destination pattern, it's guiding you a path that you start from this word and end somewhere... This intends graph... Also they are saying "shortest" while giving you source and destination so you should think of shortest path algorithm
      2) Reason why you thought of Recursion/DP is because we are trying every letter combination which is fair to think but you apply DP when you have a vast search space and you have no clue which can be the answer but here they've given you the dictionary list so they are telling you the search space

  • @amansingh.h716
    @amansingh.h716 3 месяца назад +2

    We converted DFS TO BFS😅😅

  • @devangsingh2950
    @devangsingh2950 2 года назад +4

    One different approach is make a graph with edges between hit and hot, hot and dot, hot and dot, hot and lot, .... And now you have to find the shortest distance between two points (beginWord and endWord) using BFS.

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

    Understood sir thankyou sir❤🙏🙇‍♂️

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

    Nicely Explained

  • @2000UK-v8c
    @2000UK-v8c 7 месяцев назад

    Kudos to you sir!!

  • @a2_63_vimalmishra9
    @a2_63_vimalmishra9 2 года назад +1

    At instead of set i have used map O(1) in every case : )

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

      there can be collisions in a hashmap

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

    is use of unorderedmap better of unordered set and why??

  • @NaveensinglaYT
    @NaveensinglaYT 2 года назад

    amazing explanation bhai 🤩🤩🤩🤩

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

    Thanks Strivers!!!!

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

    very nice explanation

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

    Understood bhaiya

  • @janhavibhosale1252
    @janhavibhosale1252 2 года назад

    understood striver 🙌

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

    fabulous striverrr

  • @KratosProton
    @KratosProton 2 года назад

    Great explaination

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

    Understood Sir!

  • @rajsekhardutta8891
    @rajsekhardutta8891 2 года назад

    Understood! 🤩❤‍🔥

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

    Thank you sir

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

    Understood 👍🏻

  • @MMNayem-dq4kd
    @MMNayem-dq4kd Год назад

    Understood,sir.

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

    understood sir🙇‍♂🙇‍♂🙇‍♂

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

    UNDERSTOOD.

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

    Understood 😇

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

    understood, Thank you.