打印二叉树最右侧节点其实是改自二叉树的层次遍历,多了一步,即输出每一层的末尾节点。如下题,输出最右侧节点结果应为[3,20,7]。首先看二叉树的层次遍历,使用队列(queue)来存储二叉树的节点,具体代码层次遍历实现:deflevelOrder(self,root:TreeNode)->List[List[int]]:list=[]ifrootisNone:returnlistqueue=[root]whilequeue:cur=[]foriinrange
系统 2019-09-27 17:56:40 2411
%matplotlibinlineimportnumpyasnp,matplotlib.pyplotaspltx=np.linspace(-20,20,10)print(x)[-20.-15.55555556-11.11111111-6.66666667-2.222222222.222222226.6666666711.1111111115.5555555620.]y=x**3+2*x**2+6*x+5plt.plot(x,y,marker="o")[]
系统 2019-09-27 17:53:12 2411
变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。变量赋值Python中的变量赋值不需要类型声明。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是
系统 2019-09-27 17:50:28 2411
今天遇到一个问题,在同事随意的提示下,用了itertools.groupby这个函数。不过这个东西最终还是没用上。问题就是对一个list中的新闻id进行去重,去重之后要保证顺序不变。直观方法最简单的思路就是:复制代码代码如下:ids=[1,2,3,3,4,2,3,4,5,6,1]news_ids=[]foridinids:ifidnotinnews_ids:news_ids.append(id)printnews_ids这样也可行,但是看起来不够爽。用se
系统 2019-09-27 17:56:46 2410
目录0引言1环境2需求分析3代码实现4后记0引言前几天,星球有人提到贪吃蛇,一下子就勾起了我的兴趣,毕竟在那个Nokia称霸的年代,这款游戏可是经典中的经典啊!而用Python(蛇)玩Snake(贪吃蛇),那再合适不过了先通过下面这个效果图来感受下吧!1环境操作系统:WindowsPython版本:3.7.32需求分析我们先来回顾下贪吃蛇中的游戏元素及游戏规则。首先呢,需要有贪吃蛇、有食物;需要能控制贪吃蛇来上下移动获取食物;贪吃蛇在吃取食物后,自身长度增
系统 2019-09-27 17:55:04 2410
症状pipinstallopenslide-python后,虽然在pycharm里importopenslide不报错,但是程序运行时,报错:找不到指定模块解决方案添加以下步骤:下载并解压二进制文件到downloadopenslide下载二进制文件并解压配置环境变量解压后,把对应的bin和lib添加到环境变量即可,我的是:
系统 2019-09-27 17:54:36 2410
所有代码都是网上百度出来的,通过个人实践找到适合自己的。采用的python库是pymouse、pykeyboard安装时直接pip安装的,pipinstallPyUserInput安装不成功的可以参照http://www.lfd.uci.edu/~gohlke/pythonlibs/这个地址,内容很全实现了一个最简单的输入密码,enter进入的登录过程如果想遍历,可以使用itertools包,很有用,具体用法这里不介绍了。・鼠标点击有m.click(x,y
系统 2019-09-27 17:51:04 2410
'''1.实现用户传入一个普通字符串,返回字符串的md5加密结果的函数'''#importhashlib##defM(str):#m=hashlib.md5()#m.update(str.encode('utf8'))#returnm.hexdigest()##s=M('stoll')#print(s)#函数对象的四大功能#1.引用(和变量一样)#x="hellonick"#y=x#deffunc():#print('fromfunc')#f=func#p
系统 2019-09-27 17:49:12 2410
1|0使用yield完成多任务importtimedeftest1():whileTrue:print("--1--")time.sleep(0.5)yieldNonedeftest2():whileTrue:print("--2--")time.sleep(0.5)yieldNoneif__name__=="__main__":t1=test1()t2=test2()whileTrue:next(t1)next(t2)2|0使用greenlet完成多任务
系统 2019-09-27 17:47:31 2410
Python量化的关键是金融数据可视化,无论是传统的K线图,还是现在的策略分析,都需要大量的可视化图表。具体到编程代码,就是使用Python绘图模块库绘图,比如传统的Python绘图模块库有Matplotlib,Seaborn等。对于股票和财经的金融数据源,可以使用Tushare库来获取和分析股票财经数据,我们获得财经数据源后,就可以使用Pandas对金融数据的各种指标进行定制化的分析了,最后让数据可视化,可以使用Matplotlib来绘制出美观大方的金融
系统 2019-09-27 17:54:24 2409
在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中。而一般的应用服务器,第三方库,甚至服务器的一些通告也会在终端中显示,这样就搅乱了我们想要的信息。我们可以通过对有用的信息设置不同颜色来达到醒目的效果,因为我平时都是在linux下开发,而linux终端中的颜色是用转义序列控制的,转义序列是以ESC开头,可以用\033完成相同的工作(ESC的ASCII码用十进制表示就是27,等于用八进制表示的33)。书
系统 2019-09-27 17:48:16 2409
类的继承(多层,多重)多层:ClassA:passClassB(A):###(A)继承,上可提及passa=B()######实例化,B--->A然后A,最后B的变量,方法多重:ClassA:passClassB:passClassC(A,B):passa=C()#################优先使用C类的,然后A,最后B的变量,方法今日就是这么简单。。。。。。。类我平时都无用。。。。哈哈。。。逻辑框架要清晰,有备无患
系统 2019-09-27 17:45:58 2409
对于map()它的原型是:map(function,sequence),就是对序列sequence中每个元素都执行函数function操作。比如之前的a,b,c=map(int,raw_input().split()),意思就是说把输入的a,b,c转化为整数。再比如:a=['1','2','3','4']printmap(list,a)printmap(int,a)第一个map是把列表a中每个元素转化为列表,第二个map是把a中每个元素转化为整数。而对于z
系统 2019-09-27 17:37:54 2409
本文实例分析了Python中os.path用法。分享给大家供大家参考。具体如下:复制代码代码如下:#coding=utf-8importosprintos.path.abspath("d:\\new\\test.txt")printos.path.basename("d:\\new\\test.txt")printos.path.dirname("d:\\new\\test.txt")printos.path.exists("d:\\new")printo
系统 2019-09-27 17:53:03 2408
最近几天了解了一下人脸识别,应用场景可以是图片标注,商品图和广告图中有没有模特,有几个模特,模特的性别,年龄,颜值,表情等数据的挖掘。基础的识别用dlib来实现,dlib是一个机器学习的包,主要用C++写的,但是也有Python版本。其中最流行的一个功能是FacialLandmarkDetection,配备已经训练好的轮廓预测模型,叫shape_predictor_68_face_landmarks.dat,从名字就可以看出,它可以检测出面部的68个关键点
系统 2019-09-27 17:52:05 2408