代码随想录算法训练营第十八天|530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先

530.二叉搜索树的最小绝对差

530. 二叉搜索树的最小绝对差 - 力扣(LeetCode)

代码随想录

思路:这道题是利用二叉搜索树的性质,所以可以利用昨天学过的,构造一个完整数组,因为这个数组是递增的数组,所以遍历一遍这个数组就可以找到最小绝对差了。这道题还可以用双指针,不过下一题和这题主要思路一致,双指针的方法就用在下一道题了

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):
    def getMinimumDifference(self, root):
        """
        :type root: Optional[TreeNode]
        :rtype: int
        """
        vec=[]
        def dfs(cur):
            if not cur:
                return 
            dfs(cur.left)
            vec.append(cur.val)
            dfs(cur.right)
        dfs(root)
        min_val=float('inf')
        for i in range(1,len(vec)):
            tmp=vec[i]-vec[i-1]
            if tmp<min_val:
                min_val=tmp
        return min_val

501.二叉搜索树中的众数

501. 二叉搜索树中的众数 - 力扣(LeetCode)

代码随想录

思路:因为二叉搜索树的性质,所以数值相同的节点在中序遍历中必然相邻,所以只需要用一个指针存放pre前一个节点,然后比较一下当前的值和pre是否相同,如果相同,就cnt+1,不相同就cnt=1.不过这道题有几个地方得注意,一个是python中作用域导致同时在定义的函数内外修改同一个变量会报错,要加上self,还有一个就是这道题的众数可能有很多个,所以如果频率变大了,需要把原来的结果清空。

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):
    def findMode(self, root):
        """
        :type root: Optional[TreeNode]
        :rtype: List[int]
        """
        self.cnt_max=0
        self.pre=None
        self.cnt=0
        self.val=[]
        def dfs(cur):
            if not cur:
                return
            dfs(cur.left)
            if self.pre==None:
                self.cnt=1
            elif cur.val!=self.pre.val:
                self.cnt=1
            else:
                self.cnt+=1
            if self.cnt==self.cnt_max:
                self.val.append(cur.val)
            elif self.cnt>self.cnt_max:
                self.val=[cur.val]
                self.cnt_max=self.cnt
            self.pre=cur
            dfs(cur.right)
            return
        dfs(root)
        return self.val

236. 二叉树的最近公共祖先

236. 二叉树的最近公共祖先 - 力扣(LeetCode)

代码随想录

思路:寻找公共祖先可以想到使用回溯,那就想一下return的条件是什么。那就是如果是None或者是q或者是p,返回值就是这个节点。而回溯的时候还要想一个事情,就是对左右递归的返回值都要使用,否则如果只判断了一个就返回,会导致可能另一边也找到了被淹没掉。处理的方法就是如果两个只有左或者右返回不为空,那就取这个返回值,如果都不为空,那就返回目前的节点

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution(object):
    def lowestCommonAncestor(self, root, p, q):
        """
        :type root: TreeNode
        :type p: TreeNode
        :type q: TreeNode
        :rtype: TreeNode
        """
        def dfs(cur):
            if cur is None or cur==p or cur==q:
                return cur
            left=dfs(cur.left)
            right=dfs(cur.right)
            if left!=None and right!=None:
                return cur
            elif left!=None and right is None:
                return left
            elif left is None and right!=None:
                return right
            else:
                return None
        return dfs(root)

喉部病变医学影像目标检测数据集一、基础信息数据集名称:喉部病变医学影像目标检测数据集图片规模:- 训练集:6,052张影像- 验证集:1,729张影像- 测试集:864张影像病理分类:1. Carcinoma in situ(原位癌):早期癌变病灶,局限于上皮层内2. Cyst(囊肿):内含液体的良性囊状结构3. High grade dysplasia(高度不典型增生):显著异常细胞增生,癌前病变4. Hyperkeratosis(角化过度症):上皮角质层异常增厚5. Low Grade Dysplasia(低度不典型增生):轻度细胞异型性改变6. Papillomatosis(乳头状瘤病):黏膜表面乳头状增生7. Polyp(息肉):带蒂良性增生组织8. Reinke-s Edema(声带Reinke水肿):声带固有层黏液样变性技术规格:- 标注格式:YOLO标准格式,支持目标检测模型训练- 影像类型:专业医学内窥镜影像二、核心应用喉癌智能筛查系统:支持开发喉癌早期筛查AI系统,通过病变区域定位与分类实现辅助诊断耳鼻喉科影像分析平台:适用于构建多模态喉部影像分析系统,支持8种常见喉部病变的自动化识别医学影像学研究:为喉部疾病演进模式研究提供结构化数据支撑,助力发表高水平临床AI论文专科医师培训系统:可作为数字化教学资源,帮助住院医师掌握喉部病变的影像学特征三、核心优势临床病理全覆盖:涵盖从良性病变(囊肿、息肉)到癌前病变(各型不典型增生)的完整病理谱系精准病灶标注:所有标注均经耳鼻喉科专家审核,确保病灶边界标注精度符合临床诊断要求影像特征丰富:包含不同病程阶段的喉部影像,完整呈现黏膜颜色变化、表面纹理特征等关键诊断要素即用性设计:原生支持YOLO系列算法,可快速接入主流深度学习框架进行模型开发临床
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值