打印二叉树最右侧节点其实是改自二叉树的层次遍历,多了一步,即输出每一层的末尾节点。如下题,输出最右侧节点结果应为[3,20,7]。首先看二叉树的层次遍历,使用队列(queue)来存储二叉树的节点,具体代码层次遍历实现:deflevelOrder(self,root:TreeNode)->List[List[int]]:list=[]ifrootisNone:returnlistqueue=[root]whilequeue:cur=[]foriinrange
系统 2019-09-27 17:56:40 2643
Python中strisnotcallable问题详解及解决办法问题提出:在Python的代码,在运行过程中,碰到了一个错误信息:python代码:defcheck_province_code(province,country):num=len(province)whilenum<3:province=''.join([str(0),province])num=num+1returncountry+province运行的错误信息:check_provinc
系统 2019-09-27 17:56:40 2643
前言Matplotlib是Python的绘图库。它可与NumPy一起使用,提供了一种有效的MatLab开源替代方案。它也可以和图形工具包一起使用,如PyQt和wxPython。用matplotlib绘制一些大家比较熟悉又经常混淆的统计图形,掌握这些统计图形可以对数据可视化有一个深入理解。Windows系统安装Matplotlib进入到cmd窗口下,执行以下命令:python-mpipinstall-Upipsetuptoolspython-mpipinst
系统 2019-09-27 17:55:51 2643
MLPClassifier()改变模型复杂度的四种方法调整神经网络每一个隐藏层上的节点数调节神经网络隐藏层的层数调节activation的方式通过调整alpha值来改变模型正则化的程度(增大alpha会降低模型复杂度,模型会变得更加简单)官方doc:Initsignature:MLPClassifier(hidden_layer_sizes=(100,),activation='relu',solver='adam',alpha=0.0001,batch_
系统 2019-09-27 17:54:56 2643
一,前言入职数据分析以后,肯定要涉及到python处理excle,特别是涉及到对excle的一些重复操作时,也许能提升一些效率;因此,有必要对python操作excle进行学习。现有操作excle的工具包有很多,例如xlrd&xlwt&xlutils以及强大的pandas,此外还有别的工具包,但受限于平台或者安装方式,都没有以上两种常用。(其中,pandas不仅是用来操作excle,而是一整套强大的工具包。)知乎有一篇文章些不同python包操作excle
系统 2019-09-27 17:53:26 2643
身边的人竟然不玩“跳一跳了”,都迷上了一个叫“冲顶大会”的东西,考了很多各学科的冷知识,文学、数学、地理、生物、动漫、八卦…小编网上找到一些关于python试题,大家都来答题吧。1、下面表达式输出结果为:x=12deff1():x=3print(x)deff2():x+=1print(x)f1()f2()a)34b)313c)1213d)3报错2、下面两个表达式输出内容是什么?>>>a=1>>>b=1>>>aisb???>>>a=300>>>b=300>>
系统 2019-09-27 17:52:32 2643
文|天罡君本文首发于公众号「猿天罡」,转载请注明出处,谢谢!有时候,我们编写的程序需要从用户那儿“拿到”一些数据才能继续执行下去,比如,判断某人是否到了法定投票年龄,需要用户自己输入名字和年龄才行。Python要“拿到”用户输入的数据比起Java来可简单多了,只需要学会input()方法即可。下面我们一起来学习一下input()函数的基本用法,迈出编写交互式程序的第一步!1.函数input()的工作原理input()方法会先向控制台输出提示语(如果你设置了
系统 2019-09-27 17:52:16 2643
问题:简单版连连看小游戏一个分割成w*h个正方格子的矩形板上,每个正方格子可以有游戏卡,也可以没有游戏卡两个游戏卡之间有一条路径相连需满足以下三个条件:1.路径只包含水平和垂直的直线段2.路径不能穿过别的游戏卡片3.允许路径临时离开矩形板输入要求:第一行包括两个整数:w和h;w:矩形板的宽度,h:矩形板的长度下面h行,每行包括w个字符,表示矩形板上卡片的分布情况:'X'代表这个地方有卡片;'O'代表无卡片之后一行包括4个整数:X1,Y1,X2,Y2(1<=
系统 2019-09-27 17:49:57 2643
首先,我们先普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,比如编写一篇文章,下载一首MP3等,而计算机干活的CPU只认识机器的指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。理论上任何语言干任何事情几乎都可以,但是主要干什么那就不一样了。01、Javajava常常跟”企业”联系在一起,因为具备一些很好的语言特性,以及丰富的框架,在企业应用中最被青睐,你总可以听到关于J2EE,JSP,Hibe
系统 2019-09-27 17:48:06 2643
1.vi与vim1.1为何要学vim2.vi的使用2.1简易执行范例2.2按键说明2.3一个案例的练习2.4vim的暂存档、救援回复与开启时的警告讯息3.vim的额外功能3.1区块选择(VisualBlock)3.2多档案编辑3.3多窗口功能3.4vim环境设定与记录:~/.vimrc,~/.viminfo3.5vim常用指令示意图4.其他vim使用注意事项4.1中文编码的问题4.2DOS与Linux的断行字符:dos2unix,unix2dos4.3语系
系统 2019-08-29 23:26:07 2643