题目给定一个二叉搜索树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个结点p、q,最近公共祖先表示为一个结点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树:root=[6,2,8,0,4,7,9,null,null,3,5]示例1:输入:root=[6,2,8,0,4,7,9,null,null,3,5],p=2,q=8输出:6解释:节点2和节点8的最近公共
系统 2019-09-27 17:53:57 2130
listlist是一种有序的集合,可以随时添加和删除其中的元素。跟java不一样的是可以使用arr[-1]0>-x>=-len(arr)索引的数字为0~len(arr)-1-len(arr)~-1超过会报错classmates=['A','B','C','D','E']print(classmates)print(len(classmates))foriinclassmates:print(i)'''['A','B','C','D','E']5ABCDE'
系统 2019-09-27 17:53:41 2130
#0.PyCharm常用快捷键#1.查看使用库源码PyCharm主程序员在Stackoverflow上答道经常听人说,多看源码。源码不仅能帮我们搞清楚运行机制,还能学习优秀的库或者框架的最佳实践。调用库时,你可以在你好奇的几乎任何地方点击Command+B,就可以很方便的跳转到源码里的类,方法,函数,变量的定义。#2.让你的代码PEP8写Python代码时,你会严格遵守pep8规范么?还是要遵守的,不然代码传到github或者知乎上被人怼就不好了。但是如果
系统 2019-09-27 17:53:10 2130
Python是面向对象的语言,所以程序抛出的异常也是类。常见的异常类1.NameError:尝试访问一个没有申明的变量2.ZeroDivisionError:除数为03.SyntaxError:语法错误4.IndexError:索引超出序列范围5.KeyError:请求一个不存在的字典关键字6.IOError:输入输出错误(比如你要读的文件不存在)7.AttributeError:尝试访问未知的对象属性8.TypeError:传给函数的参数类型不正确,比如
系统 2019-09-27 17:52:45 2130
一、首先二叉树的定义:classTreeNode:def__init__(self,x):self.val=xself.left=Noneself.right=None构建一棵二叉树:classNode(object):def__init__(self,val):self.val=valself.lchild=Noneself.rchild=NoneclassTree(object):def__init__(self):self.root=Noneself
系统 2019-09-27 17:52:24 2130
整个排序算法分两部分来总结,这篇总结第一部分一些相对简单和常用的排序算法,包括冒泡排序、选择排序、插入排序和希尔排序。冒泡排序冒泡排序应该是大家接触的最早的排序方法了,理解起来也十分简单。冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。算法描述比较相邻的
系统 2019-09-27 17:52:14 2130
ndarray.ndim:维度ndarray.shape:形状ndarray.size:元素个数ndarray.dtype:元素数据类型ndarray.itemsize:字节大小创建数组:a=np.array([2,23,4])#list1dprint(a)#[2234]指定数据类型:a=np.array([2,23,4],dtype=np.int)print(a.dtype)#int64dtype可以指定的类型有int32,float,float32,后
系统 2019-09-27 17:50:47 2130
在嵌入式、尤其是机器人的python编程中,经常需要实时检测用户的键盘输入来随时控制机器人,这段代码可以帮助我们提取用户输入的字符,并在按下键盘的时候作出反应。importsysimportttyimporttermiosdefreadchar():fd=sys.stdin.fileno()old_settings=termios.tcgetattr(fd)try:tty.setraw(sys.stdin.fileno())ch=sys.stdin.rea
系统 2019-09-27 17:50:35 2130
爬虫的抓取方式有好几种,正则表达式,Lxml(xpath)与BeautifulSoup,我在网上查了一下资料,了解到三者之间的使用难度与性能三种爬虫方式的对比。抓取方式性能使用难度正则表达式快困难Lxml快简单BeautifulSoup慢简单这样一比较我我选择了Lxml(xpath)的方式了,虽然有三种方式,但肯定是要选择最好的方式来爬虫,这个道理大家都懂,另外有兴趣的朋友也可以去了解另外两种爬虫方式!好了现在来讲讲xpath由于Xpath属于lxml模块
系统 2019-09-27 17:49:52 2130
returndeff1(x):y=2**x#没有returndeff2(x):y=2**xreturny#含有returnprint(f1(2),f2(2))return语句退出函数,并返回一个表达式。不带参数值的return语句返回None2.可变参数通过*来定义可变参数默认会把可变参数传入一个元祖!deff(*x):print(x)returnxf(1)f('a','b')f(1,2,3,[44,33])print(type(f('a','b')))定
系统 2019-09-27 17:49:40 2130