题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7],3/920/157返回它的最大深度3。思路BFS广度优先搜索,使用双端队列deque(因为性能比另外两种Queue好得多),在大循环内对二叉树的每个层做一次遍历,range(len(queue))使只遍历当前的层,每次大循环ans加1。由于每个节点仅访问一次,所以时间
系统 2019-09-27 17:56:23 1862
本文实例讲述了python实现根据图标提取分类应用程序,分享给大家供大家参考。具体方法如下:#!/usr/bin/python#-*-coding:utf-8-*-importImageimportwin32uiimportwin32guidefmake_regalur_image(img,size=(256,256)):returnimg.resize(size).convert('RGB')defsplit_image(img,part_size=(6
系统 2019-09-27 17:56:14 1862
1、概述1.1场景我们在使用Python中的方法method时,经常会看到参数中带有self,但是我们也没对这个参数进行赋值,那么这个参数到底是啥意思呢?2、知识点2.1成员函数(m)和普通方法(f)Python中的"类方法"必须有一个额外的第一个参数名称(名称任意,不过推荐self),而"普通方法"则不需要。m、f、c都是代码自动提示时的左边字母(method、function、class)#-*-coding:utf-8-*-classTest(obj
系统 2019-09-27 17:56:05 1862
本文实例讲述了python根据路径导入模块的方法,分享给大家供大家参考。具体方法如下:常规做法如下:importsyssys.path.append('C:/full/path')fromfooimportutil,bar而要直接通过路径importimputil=imp.load_source('util','C:/full/path/foo/util.py')使用时使用util.method,此时并没有定义methodmethod=util.metho
系统 2019-09-27 17:55:56 1862
对于普通的生成器,第一个next调用,相当于启动生成器,会从生成器函数的第一行代码开始执行,直到第一次执行完yield语句(第4行)后,跳出生成器函数。然后第二个next调用,进入生成器函数后,从yield语句的下一句语句(第5行)开始执行,然后重新运行到yield语句,执行后,跳出生成器函数,后面再次调用next,依次类推。下面是一个列子:defconsumer():r='here'foriinxrange(3):yieldrr='200OK'+str(
系统 2019-09-27 17:55:41 1862
阅读更多文件名全小写,可使用下划线包应该是简短的、小写的名字。如果下划线可以改善可读性可以加入。如mypackage。模块与包的规范同。如mymodule。类总是使用首字母大写单词串。如MyClass。内部类可以使用额外的前导下划线。函数&方法函数名应该为小写,可以用下划线风格单词以增加可读性。如:myfunction,my_example_function。*注意*:混合大小写仅被允许用于这种风格已经占据优势的时候,以便保持向后兼容。函数和方法的参数总使
系统 2019-09-27 17:55:28 1862
mock简介mock原是python的第三方库python3以后mock模块已经整合到了unittest测试框架中,不用再单独安装Mock这个词在英语中有模拟的意思,因此我们可以猜测出这个库的主要功能是模拟一些东西准确的说,Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象替代掉指定的Python对象,以达到模拟对象的行为既然mock已经被整合到了unittest单元测试框架中,可想而知mock的目的就是为了让我们更好的进行测
系统 2019-09-27 17:54:56 1862
用Python来编写网站,必须要能够通过python操作数据库,所谓操作数据库,就是通过python实现对数据的连接,以及对记录、字段的各种操作。上一讲提到的那种操作方式,是看官直接通过交互模式来操作数据库。安装python-MySQLdb要想通过python来操作数据库,还需要在已经安装了mysql的基础上安装一个称之为mysqldb的库,它是一个接口程序,python通过它对mysql数据实现各种操作。在编程中,会遇到很多类似的接口程序,通过接口程序对
系统 2019-09-27 17:54:55 1862
#!/usr/bin/python#coding:utf-8importnumpyasnpa=np.array([1,2,3])b=np.array([[1,2,3],[4,5,6],[7,8,9]])#shape是维度,dtype是元素的类型printa.shapeprinta.dtype#使用函数生成等差数列数组x1=np.arange(1,11,2)x2=np.linspace(1,9,5)printx1,x2#求数组中的最大值和最小值printnp
系统 2019-09-27 17:54:45 1862
1、元素的分类需求:有如下集合[11,22,33,44,55,66,77,88,99,90……],将所有大于66的值保存在字典的第一个key中,将小于66的值保存在第二个key的值中代码实现:1#定义一个list列表2li=[11,22,33,44,55,66,77,88,99,90]3#定义空字典4dic={"k1":[],"k2":[]}5foriinli:6ifi<=66:7dic['k1'].append(i)8else:9dic['k2'].ap
系统 2019-09-27 17:54:43 1862