题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[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 1966
使用列表List作为样本点表示的欧氏距离计算方法:importmath#计算两点之间的距离defeucliDist(A,B):returnmath.sqrt(sum([(a-b)**2for(a,b)inzip(A,B)]))X=[1,2,3,4]Y=[0,1,2,3]print(eucliDist(X,Y))使用np.array作为样本点表示的欧氏距离计算方法:importnumpyasnp#计算两点之间的距离defeucliDist(A,B):retu
系统 2019-09-27 17:56:21 1966
最近在使用爬虫爬取数据时,经常会返回403代码,大致意思是该IP访问过于频繁,被限制访问。限制IP访问网站最常用的反爬手段了,其实破解也很容易,就是在爬取网站是使用代理即可,这个IP被限制了,就使用其他的IP。对于高大上的公司来说,他们基本都使用收费的代理,基本不会有什么问题,比较稳定。像我这样的矮矬穷,肯定是用不起收费的代理。一般都是使用国内免费的代理,网上也有很多提供免费的代理。很多人都是从网上爬取一批免费的代理IP,存放在存储媒介中,例如excel文
系统 2019-09-27 17:56:04 1966
最直观的上下文,莫过于小学的语文课,经常会问联系上下文,推测...,回答...,表明作者...。文章里的上下文比较好懂,无非就是前与后。在了解了计算机的执行状态,程式的运行,才稍微对计算机的上下文(context)有了一定的认识,多半还是只可意会,不可言传。本文所讨论的上下文,简而言之,就是程式所执行的环境状态,或者说程式运行的情景。提及上下文,就不可避免的涉及Python中关于上下文的魔法,即上下文管理器(contextor)。资源的创建和释放场景上下文
系统 2019-09-27 17:55:33 1966
这是我使用python写的第一个类(也算是学习面向对象语言以来正式写的第一个解耦的类),记录下改进的过程。分析需求最初,因为使用time模块显示日期时,每次都要设置时间字符串的格式,挺麻烦,但还是忍了。后来,在处理多线程任务时需要实现定时控制的功能,更麻烦,终于决定自己做一个解决这些问题的通用代码(虽然网上有现成的模块,但亲手编写这部分代码正好能锻炼一下我的面向对象编程)。分析框架刚开始,我计划做一个模仿时钟的抽象类,让它独立运行在一个线程中,让它提供显示
系统 2019-09-27 17:54:34 1966
itchat模块官方参考文档:https://itchat.readthedocs.io/zh/latest/安装pipinstallitchat/pip3installitchat原理Python模仿网页版微信登陆,并且现有一套操作网页版微信的API,可以将你使用微信中产生的数据爬下来,并做出相应的处理。操作1.导入这套微信API的包itchatimportitchat2.模仿网页版微信登陆itchat.auto_login()3.使用相关函数找到相关微
系统 2019-09-27 17:54:06 1966
1下载sublimetext3(不要下载最新版Version:Build3207不好找licence)https://www.unyoo.com/2320.html(参考这个,需要指定版本windows或mac的可以看这个)https://download.sublimetext.com/sublime_text_3_build_3200_x64.tar.bz2(我用的是这个版本)放到ubuntu里面,解压tar-xvfsublime_text_3_bui
系统 2019-09-27 17:54:03 1966
用Python实现常规的静态网页抓取时,往往是用urllib2来获取整个HTML页面,然后从HTML文件中逐字查找对应的关键字。如下所示:复制代码代码如下:importurllib2url="http://mm.taobao.com/json/request_top_list.htm?type=0&page=1"up=urllib2.urlopen(url)#打开目标页面,存入变量upcont=up.read()#从up中读入该HTML文件key1='ke
系统 2019-09-27 17:53:24 1966
Python数据类型详解——列表在“Python之基本数据类型概览”一节中,大概介绍了列表的基本用法,本节我们详细学一下列表。如何定义列表:在[]内以英文里输入法的逗号,,按照索引,存放各种数据类型,每个位置代表一个元素。回顾一下列表的特点:1、可存放多个值。2、按照从左到右的顺序定义列表元素,下标从0开始顺序访问,是有序的。3、可修改指定索引位置对应的值,可变。一、列表元素的增加操作1、追加用append方法将数据追加到列表的尾部names=['Kwan
系统 2019-09-27 17:53:06 1966
本文实例讲述了python静态方法。分享给大家供大家参考。具体实现方法如下:复制代码代码如下:staticmethodFoundat:__builtin__staticmethod(function)->methodConvertafunctiontobeastaticmethod.Astaticmethoddoesnotreceiveanimplicitfirstargument.Todeclareastaticmethod,usethisidiom:c
系统 2019-09-27 17:53:03 1966