leedcode783 二叉搜索数结点最小距离
给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。
差值是一个正数,其数值等于两值之差的绝对值。
示例 1:
输入:root = [4,2,6,1,3]
输出:1
示例 2:
输入:root = [1,0,48,null,null,12,49]
输出:1
来源:力扣(LeetCode)
链接:https://t.cn/A6SMJWI5
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
代码:
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
#self.val = val
#self.left = left
#self.right = right
class Solution:
def trave(self,root: Optional[TreeNode],l:List[int]):
if not root==None:
l.append(root.val)
if not root.left==None:
self.trave(root.left,l)
if not root.right==None:
self.trave(root.right,l)
def minDiffInBST(self, root: Optional[TreeNode])->int:
lst=[]
self.trave(root,lst)
lst.sort()
m=999999
for i in range (len(lst)-1):
m=min(m,lst[i+1]-lst[i])
return m
定义函数trave,用于遍历二叉树,把结点的值添加到列表去。将列表排序,不断用列表中相邻的两个元素作差,比较出最小值。
给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。
差值是一个正数,其数值等于两值之差的绝对值。
示例 1:
输入:root = [4,2,6,1,3]
输出:1
示例 2:
输入:root = [1,0,48,null,null,12,49]
输出:1
来源:力扣(LeetCode)
链接:https://t.cn/A6SMJWI5
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
代码:
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
#self.val = val
#self.left = left
#self.right = right
class Solution:
def trave(self,root: Optional[TreeNode],l:List[int]):
if not root==None:
l.append(root.val)
if not root.left==None:
self.trave(root.left,l)
if not root.right==None:
self.trave(root.right,l)
def minDiffInBST(self, root: Optional[TreeNode])->int:
lst=[]
self.trave(root,lst)
lst.sort()
m=999999
for i in range (len(lst)-1):
m=min(m,lst[i+1]-lst[i])
return m
定义函数trave,用于遍历二叉树,把结点的值添加到列表去。将列表排序,不断用列表中相邻的两个元素作差,比较出最小值。
【法国干预防御护卫舰(FDI)】# 中外舰闻# 正在法国海军集团位于洛里昂的船厂内进行船体总装的法国海军下一代水面战舰——“干预防御护卫舰”(FDI)首舰“罗纳克海军上将”,该舰预计将于10月下水,并于2024年交付法国海军。FDI是法国海军第一种采用“倒V型船艏”(inverted bow/étrave inversée,内倾式艏或逆艏)的舰艇,也就是正面看时从下到上是一个从水面下逐渐向上收缩的倒V字型,形成尖锐的“穿浪”船艏,美国海军的“朱姆沃尔特”级导弹驱逐舰最早采用了这种船艏设计,“穿浪”结构穿破海浪(而非被海浪托起),拥有更好的纵向稳定性能,减轻船艏被海浪冲击导致结构疲劳的问题,法国认为倒V字型舰艏设计相比传统的飞剪艏能在像北大西洋这类恶劣海况中依然让舰艇维持高航速,从而让FDI护卫舰仅使用四台大型柴油发动机而不是燃气轮机就能推动4500多吨的舰体达到至少27节的速度,并以15节的速度航行超过5000英里。
“倒V型船艏”的另一个优点就是没有较大的垂直面,雷达反射截面积(RCS)小,有利于降低被雷达发现的几率,“倒V型船艏”还能增加舰炮的射界。
不过同“朱姆沃尔特”级不同,FDI没有采用倒V字型的“内倾式船体”(tumblehome hull),而是类似“拉菲特”级一样传统船型的V字型“下窄上宽”船体,只是在水线以上才开始内倾,虽然在隐身方面会受到影响,但是风险低,而且FDI在海面行驶遇到横向倾斜时水线上的较大空间能“制造出”更多的浮力,从而提高了舰体横向的稳定性(“朱姆沃尔特”级驱逐舰为了解决横向稳定性问题,不得不把垂直导弹发射架分别布置在两侧,也就是为了起到类似“扁担式”的稳定效果,算是一种弥补),同时靠近船艏的外倾舰体也更方便布置船锚(内倾船体的“朱姆沃尔特”级驱逐舰使用了不易于维护的船底锚),外倾的舰体也能增加前甲板的工作面积(内倾船体的“朱姆沃尔特”级驱逐舰的前甲板面积很小),减少上浪,避免海浪破坏甲板上的设备。
FDI护卫舰计划建造8艘,其中法国海军采购了五艘,希腊海军采购了三艘,法国海军的五艘都以法国海军20世纪的著名海军上将命名,首舰舰名来自皮埃尔·亚历克西斯·罗纳克海军上将(1865年-1940年),他曾在1919-1920年间担任法国海军海军参谋长(相当于中俄等国的海军司令)。首舰计划于2024年交付,其余4艘将以每18个月一艘的速率交付,FDI将用于取代法国计划建造的第9至第11艘多功能护卫舰(FREMM)和现役5艘“拉菲特”级护卫舰,其中两艘应该会部署到法国弹道导弹核潜艇基地布雷斯特长岛,以加强对战略核潜艇(SNLE)的保护,应对日益活跃的俄罗斯攻击型核潜艇威胁。其他三艘FDI将驻扎在土伦,他们将取代部署在那里的3艘“拉菲特”级护卫舰。
“倒V型船艏”的另一个优点就是没有较大的垂直面,雷达反射截面积(RCS)小,有利于降低被雷达发现的几率,“倒V型船艏”还能增加舰炮的射界。
不过同“朱姆沃尔特”级不同,FDI没有采用倒V字型的“内倾式船体”(tumblehome hull),而是类似“拉菲特”级一样传统船型的V字型“下窄上宽”船体,只是在水线以上才开始内倾,虽然在隐身方面会受到影响,但是风险低,而且FDI在海面行驶遇到横向倾斜时水线上的较大空间能“制造出”更多的浮力,从而提高了舰体横向的稳定性(“朱姆沃尔特”级驱逐舰为了解决横向稳定性问题,不得不把垂直导弹发射架分别布置在两侧,也就是为了起到类似“扁担式”的稳定效果,算是一种弥补),同时靠近船艏的外倾舰体也更方便布置船锚(内倾船体的“朱姆沃尔特”级驱逐舰使用了不易于维护的船底锚),外倾的舰体也能增加前甲板的工作面积(内倾船体的“朱姆沃尔特”级驱逐舰的前甲板面积很小),减少上浪,避免海浪破坏甲板上的设备。
FDI护卫舰计划建造8艘,其中法国海军采购了五艘,希腊海军采购了三艘,法国海军的五艘都以法国海军20世纪的著名海军上将命名,首舰舰名来自皮埃尔·亚历克西斯·罗纳克海军上将(1865年-1940年),他曾在1919-1920年间担任法国海军海军参谋长(相当于中俄等国的海军司令)。首舰计划于2024年交付,其余4艘将以每18个月一艘的速率交付,FDI将用于取代法国计划建造的第9至第11艘多功能护卫舰(FREMM)和现役5艘“拉菲特”级护卫舰,其中两艘应该会部署到法国弹道导弹核潜艇基地布雷斯特长岛,以加强对战略核潜艇(SNLE)的保护,应对日益活跃的俄罗斯攻击型核潜艇威胁。其他三艘FDI将驻扎在土伦,他们将取代部署在那里的3艘“拉菲特”级护卫舰。
【马耳他创造了世界上第一个“虚拟公民”】据Trave Pulse报道,Visit Malta公司创造了世界上第一个虚拟公民,并给她取名为玛丽娅。“她”是人工智能与社交互动程序的结合体,有着典型的马耳他口音。借助移动应用程序,游客可以用多种语言与玛丽娅进行实时对话,了解关于马耳他的历史等信息。随着时间的推移,“她”会变得越来越聪明,并能学到更多关于如何与人互动的知识。(图源:ins@visitmalta)#马耳他#
✋热门推荐