Distribute Coins in Binary Tree - Leetcode 979 - Python

Поділитися
Вставка
  • Опубліковано 12 січ 2025

КОМЕНТАРІ • 30

  • @tommyshelby6277
    @tommyshelby6277 8 місяців тому +39

    bro sneaked in `ladoos` and thought we wouldn't notice😂?

  • @arihantsinghrana2173
    @arihantsinghrana2173 8 місяців тому +18

    Thank you soo much for making these video and soo early as well!!!

  • @weens571
    @weens571 8 місяців тому +4

    Just when I needed the video. Thanks. 😁

  • @АлекСневар
    @АлекСневар 8 місяців тому +5

    Actually, the second solution with one variable is much easier to understand imho.

  • @aashishbathe
    @aashishbathe 8 місяців тому +7

    LADDOOO AGAINNN. Just remembering that, I just had it yesterday and it was great!

  • @HimanshuSaini-ur6by
    @HimanshuSaini-ur6by 7 місяців тому

    This was great..by 9 minute mark I got an idea and coded it out. it workedd

  • @shashwatsingh9247
    @shashwatsingh9247 7 місяців тому

    Tough ques. thanks neetcode

  • @MP-ny3ep
    @MP-ny3ep 8 місяців тому

    Great explanation as always. Thank you

  • @pastori2672
    @pastori2672 7 місяців тому +2

    i actually struggled so much on this one and i thought your gonna clown them for the difficulty again but i guess not

  • @realisticlevel2553
    @realisticlevel2553 2 місяці тому +1

    harddd to come up with this
    I came up with the intuition of the +1 and -1 for when passing up coins and "asking" for coins, and I was trying to balance it with the current level of the tree :(

  • @chien-yuyeh9386
    @chien-yuyeh9386 8 місяців тому

    Thanks for sharing 🎉

  • @kwakukusi4094
    @kwakukusi4094 7 місяців тому

    best explanation

  • @nikolatesla399
    @nikolatesla399 2 місяці тому

    class Solution:
    res = 0
    def distributeCoins(self, root: Optional[TreeNode]) -> int:
    self.helper(root)
    # Retrieve the result and reset `Solution.res` for future calls
    ans = Solution.res
    Solution.res = 0
    return ans
    def helper(self, root: Optional[TreeNode]) -> int:
    if not root:
    return 0
    # Calculate excess coins for left and right children
    left = self.helper(root.left)
    right = self.helper(root.right)
    # Total moves required to balance current node
    Solution.res += abs(left) + abs(right)
    # Return net balance of coins after balancing current node
    return left + right + root.val - 1

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

    Interesting question.

  • @shivangikhemka4379
    @shivangikhemka4379 7 місяців тому

    Hey, How would be solve this to get minimum number of moves if we had more total coins than number of total nodes?
    total coins > total nodes
    (Extended problem)

  • @vikneshcs
    @vikneshcs Місяць тому

    Can I convert it to graph and do bfs on node 0

  • @sivaramakrishnankn1721
    @sivaramakrishnankn1721 8 місяців тому +3

    boondhi laddoo gang represent

  • @impolitebigmac3044
    @impolitebigmac3044 8 місяців тому +38

    I hate leetcode

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

    2055. Plates Between Candles... Next Please..🙏

  • @nikitathacker5096
    @nikitathacker5096 7 місяців тому

    How can we conclude that this question doesnt require DP? At first glance, we have choices and we need minimum, making it a good candidate for DP

  • @kevinwang8632
    @kevinwang8632 8 місяців тому +2

    this one was hard

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

    Double bfs?

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

    public int[] dfs(TreeNode root){
    if(root == null) return new int[]{0,0}; //size, coins
    int[] left = dfs(root.left);
    int[] right = dfs(root.right);
    int[] curr = new int[]{left[0]+right[0]+1, left[1]+right[1]+root.val};
    res += Math.abs(curr[0] - curr[1]);
    return curr;
    }
    java code

  • @sajankumarrajbanshi1158
    @sajankumarrajbanshi1158 7 місяців тому

    i love ladoos

  • @Masterasadumar
    @Masterasadumar 8 місяців тому +3

    lol ladu

  • @sankhadip_roy
    @sankhadip_roy 7 місяців тому

    extra = left_extra+right_extra+1-node.val # calculated it from the first solution equations
    extra = left_extra+right_extra-1+node.val # provided by neetcode
    both is working don't know how