zoukankan      html  css  js  c++  java
  • leetcode1080

    这道题似乎有点争议,我的解决方案卡在111/115上,也有其他人遇到和我的一样的问题。

     1 class Solution:
     2     def Subset(self,root,sums,limit):
     3         if root == None:
     4             return 0
     5         temp = root.val
     6         left = self.Subset(root.left,temp+sums,limit)
     7         right = self.Subset(root.right,temp+sums,limit)
     8         
     9         if root.left != None and root.left.left == None and root.left.right == None and left < limit:
    10             root.left = None
    11         if root.right != None and root.right.left == None and root.right.right == None and right < limit:
    12             root.right = None
    13         return temp + sums
    14 
    15     def sufficientSubset(self, root: TreeNode, limit: int) -> TreeNode:
    16         sums = self.Subset(root,0,limit)
    17         if root.left == None and root.right == None and sums < limit:
    18             return None
    19         else:
    20             return root

    这道题目的主要争议出在:删掉原来的叶子节点之后,新形成的叶子节点,如果不够,是否也要被删除。

    我上面的代码,是不会删除这些新叶子节点的。貌似这道题目在比赛期间是使用的和我的代码一样的判断,但是后来又改了。

    这道题目描述不清楚,给的例子也不具有代表性,所以很混乱。而leetcode上这类题目其实还蛮多的,至少我是这种感觉。

    给出另一种可以AC的解决方案:

    1 class Solution:
    2     def sufficientSubset(self, root, limit):
    3         if root.left == root.right is None:
    4             return None if root.val < limit else root
    5         if root.left:
    6             root.left = self.sufficientSubset(root.left, limit - root.val)
    7         if root.right:
    8             root.right = self.sufficientSubset(root.right, limit - root.val)
    9         return root if root.left or root.right else None

    参考:https://leetcode.com/problems/insufficient-nodes-in-root-to-leaf-paths/discuss/308326/JavaC%2B%2BPython-Fixed-Recursion

    今早看到官方发布了一个声明,对于WA的答案重新判定,算是一种补救措施吧(这道题的AC率也瞬间从不足20%提升到38%,算是比较合理的正确率)

  • 相关阅读:
    Java面向对象——属性赋值的过程
    Java面向对象——类的成员之三:构造器(构造方法)constructor
    课后作业—5
    缓冲类的使用示例
    缓冲技术
    流的基类
    流的分类
    什么是流?
    关于开发中异常处理的建议
    阅读笔记-3
  • 原文地址:https://www.cnblogs.com/asenyang/p/10994654.html
Copyright © 2011-2022 走看看