Vertical order traversal of a binary tree | Leetcode

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

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

  • @pranayreddy6337
    @pranayreddy6337 3 года назад +33

    The solution is really good, but I would like to point out that using set doesn't handle duplicate values. So to pass all the cases use multiset!

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

      👍

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

      wait set doesn't handle duplicate values means!!!!? Set is meant to take just unique values right?

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

      @@neversettlejay yes, hence you'll end up missing duplicate values.

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

      use multiset

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

      @@neversettlejay ya

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

    Please keep this series on going and free of cost. Please

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

    Your teaching style is rock solid thanks for this wonderful explanation of the topic I stumbled upon.

  • @mayankgupta8715
    @mayankgupta8715 4 года назад +1

    Ye tech ki dose bahut imp h.Ye sab coders ko leni chaiye.....

  • @yitingg7942
    @yitingg7942 3 года назад +6

    Solved it one try within 20 mins using treemap of treemap of priorityQueue. I must say I learned well from you lol. Thank you so much legend!!!

  • @okeyD90232
    @okeyD90232 3 года назад +1

    wonderful explanation, solved this leetcode problem in one go just by following your explanation .

  • @code_life4835
    @code_life4835 4 года назад +4

    I was getting runtime Error, but you solved my doubt. Thanks a lot for your Awesome Explanation!!

  • @ankitkumar-ih8qo
    @ankitkumar-ih8qo 3 года назад +3

    Your intuition to explain is so good , and I have a doubt on for loop.... Would you please explain how the for loop work.?
    It really helpful to me

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

    best explaination for this problem and dfs is easier than bfs in this tbh

  • @princeakhil208
    @princeakhil208 4 года назад +4

    The content of this channel is growing exponentially surely this will become a repository to crack faang interviews thanks for your effort tech dose

    • @techdose4u
      @techdose4u  4 года назад +1

      Thanks for your appreciation. I hope it helps every student preparing for programming interviews.

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

    Better than striver! But you could have used unordered map and mutilset instead of map and set.

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

    thank you sir , your lectures help very much I just watched little of it and understood what to do next, thank you

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

    I was not able to solve the problem due to 1st constraint, thank you for the solution.

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

    Too good explaination.This video is really good and all contents are easily understable .

  • @ankitkumar-ih8qo
    @ankitkumar-ih8qo 3 года назад +3

    great explanation, ans.push_back(vector()) , I dont understand what is these and why we use "vector()" ? Would you please explain me

  • @kunalsoni7681
    @kunalsoni7681 4 года назад +3

    Seriously very amazing solutions of this problem you provide 😊.. thanking you so much sir

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

    Awesome solution dude. Hats off to you.

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

    finally understood the problem lots of the Thank you!!❤❤

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

    Instead of using set using multiset will solve the problem of having duplicates in same row and col.

  • @vijayjayaram606
    @vijayjayaram606 3 года назад +1

    Thay asked the same today in my interview
    Lucky me
    I watched this video after the interview
    Thank you youtube
    Ur recommendation algo sucks!

    • @techdose4u
      @techdose4u  3 года назад

      How does youtube know that you want to see this 😂 Google knows about your interview too!!

    • @vijayjayaram606
      @vijayjayaram606 3 года назад +1

      @@techdose4u scary. My meeting invite 😱

    • @techdose4u
      @techdose4u  3 года назад +1

      @@vijayjayaram606 Haha :P

  • @humble.660
    @humble.660 2 года назад

    Code in Python for DFS(It becomes helpful with sorted function):
    class Solution:
    def helper(self, placement,level, root, dic):
    if(not root):
    return
    dic[placement].append((level, root.val))
    self.helper(placement-1, level+1, root.left, dic)
    self.helper(placement+1, level+1, root.right, dic)

    def verticalTraversal(self, root: TreeNode) -> List[List[int]]:
    dic = defaultdict(list)
    self.helper(0,0, root, dic)
    result = []
    for i in sorted(dic.keys()):
    temp = []
    for j in sorted(dic[i]):
    temp.append(j[1])
    result.append(temp)
    return result

  • @vbalas9214
    @vbalas9214 3 года назад

    what does iterating over m1.second and m2.second actually mean? Is m2.second having the values of the tree in the ascending order? And we are pushing a vector() into the ans 2d vector, is it just to create some space in the answer vector?

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

    Brilliant approach.

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

    For duplicate values in Python simply use List and make sorting arrangements accordingly (DFS approach)

  • @santoshreddy3
    @santoshreddy3 3 года назад +9

    Nice explanation. One finding though, Set will remove duplicates. For example if we have same values for given (x, y) coordinates, we will endup missing one value in output. Am I missing something?

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

      But it is assumed that there is no duplicates in Tree,if there is duplicates then go for multiset

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

      Use multiset

  • @VenkatIyer
    @VenkatIyer 3 года назад

    Inside the first for loop, the first statement of pushing the vector() means are we pushing the entire vector?? I am confused with the representation.

  • @adishijha8365
    @adishijha8365 4 года назад +3

    Thank you so much! I was stuck at this question.. you made it clear.

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

    bhaiya explanation is awsm

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

    Can someone tell why "ans.push_back(vector())" is used in 1st approach);

  • @varunnadipudi2257
    @varunnadipudi2257 4 года назад +3

    Nicely explained🙌..keep up with this awesome work.👍

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

    Huge thanks💜

  • @priyankanagaraju7590
    @priyankanagaraju7590 3 года назад +1

    Really good explanation !

  • @AbhishekKumar-zs8zt
    @AbhishekKumar-zs8zt 4 года назад +1

    awesome explanation

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

    Excellent explanation sir

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

    everything is good but you have named the coordinates of node values wrong, provided the root is the origin (0,0). Go to timestamp 12:43 for your reference.

  • @amitavamozumder73
    @amitavamozumder73 3 года назад +1

    i don't think we have similar DS in nodeJS, map and set both follow insertion order here, so we manually need to sort the keys/values.

  • @praveenprakash6336
    @praveenprakash6336 4 года назад +1

    Bro your explanation is truly good. Bro could you please make a video for 1st year students in order to get into product based companies.

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

    can you let me know why we have inserting value on basis of col * row and not in row * col.

  • @JohnWick-kh7ow
    @JohnWick-kh7ow 3 года назад +4

    Striver said that the time complexity is O(N*logN). You are saying that time complexity is O(N*logN*logN*logN). Which one is right?

    • @techdose4u
      @techdose4u  3 года назад

      In the Map Map Set, if you use Unordered_map then time will be NlogN in total. If you use Map then NlogNlogNLogN. 2 extra logs for ordered map key search. So. It depends on your choice of DS.

    • @JohnWick-kh7ow
      @JohnWick-kh7ow 3 года назад

      @@techdose4u I asked him he agreed that time complexity will be O(N*LogN*LogN*LogN). He told the time complexity of java code which is O(N*logN)

  • @sakthim7160
    @sakthim7160 4 года назад +1

    Will you able to make videos on binary lifting? Which will be very helpful to solve problems like lowest common ancestor of given two nodes and kth ancestors of a given node in a tree.

    • @techdose4u
      @techdose4u  4 года назад

      Its difficult to accomodate with graph videos as many of them are pending as well. So, I will try after graph.

    • @sakthim7160
      @sakthim7160 4 года назад

      @@techdose4u thank you!

  • @ShaliniNegi24
    @ShaliniNegi24 4 года назад +1

    Nice explanation!

  • @sagnikroy4018
    @sagnikroy4018 3 года назад +1

    Thank you so much

  • @deepjyotkaurbindra
    @deepjyotkaurbindra 3 года назад +1

    BRILLIANT

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

    That was epic explanation!

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

    Hello,
    Could you please help how to solve this question using JavaScript?
    Because map and set are little different in JS.

    • @techdose4u
      @techdose4u  4 года назад +1

      I will ask people to share their code in comment in different languages. It will be much more helpful.

  • @md.giashuddin3083
    @md.giashuddin3083 2 года назад

    This problem can be solved using HashMap & PriorityQueue in Java.
    `class Solution {
    public List verticalTraversal(TreeNode root) {
    Map map = new HashMap();
    int[] width = {0, 0};
    verticalTraversal(root, 0, 0, map, width);
    List result = new ArrayList();
    for (int i = width[0]; i

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

    Which will run faster BFS or DFS?

  • @vijayjayaram606
    @vijayjayaram606 3 года назад +1

    Approach = 🤘

  • @bitrish34
    @bitrish34 3 года назад

    What should be the space complexity?

  • @gauravshukla6675
    @gauravshukla6675 3 года назад +1

    what is the time complexity of this code?

  • @hemanthram4369
    @hemanthram4369 4 года назад

    good problem

  • @sudinjana4402
    @sudinjana4402 3 года назад

    but if we have duplicates elements in same row and column and set will not work it would be better to use vector instead of set

  • @noobninja4882
    @noobninja4882 4 года назад +1

    Thanks sir

  • @AdityaPratapSingh-ss8wg
    @AdityaPratapSingh-ss8wg 4 года назад +1

    How to print top view of bi art tree in o(n)

  • @harshraj57
    @harshraj57 4 года назад

    can we solve it recursively??

  • @AINeptune
    @AINeptune 3 года назад

    how were we supposed to figure this out on ur own without looking at the solution?

  • @abhisheksuryavanshi9675
    @abhisheksuryavanshi9675 3 года назад

    Not working for test case->
    [1,2,3,4,5,6,null,null,7,8,null,null,9,null,10,null,11,10],hence instead of set I took vector in map

  • @CodeSuccessChronicle
    @CodeSuccessChronicle 3 года назад +1

    Saviour!!

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

    where you work Google or Meta?

  • @aneeshreddy1534
    @aneeshreddy1534 4 года назад +1

    what is the difficulty level of this one

  • @bhushanb8339
    @bhushanb8339 3 года назад +1

    Code link is not reachable..

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

    TreeMap

  • @sase1017
    @sase1017 4 года назад +1

    Hard to understand

    • @techdose4u
      @techdose4u  4 года назад

      Please watch it again

    • @sase1017
      @sase1017 4 года назад

      @@techdose4u Thank you so much, I understand pretty well and be able to code out by myself now, your visualization and explanation helped tremendously

  • @AsifKhan-fn2cy
    @AsifKhan-fn2cy 4 года назад +1

    Nice explanation !