摘要: 题目描述:给出一个正整数,不使用内置函数,如sqrt(),判断这个数是不是一个数的平方。 思路:直接使用二分法,貌似没啥好说的。代码如下: 阅读全文
posted @ 2017-10-21 17:52 潇湘旧友 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 用一个整型数组构建一个二叉树,根结点是数组中的最大值,左右子树分别是根结点的值在数组中左右两边的部分。 分析,这是二叉树中比较容易想到的问题了,直接使用递归就行了,代码如下: 阅读全文
posted @ 2017-10-20 16:18 潇湘旧友 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 题目在这里,要求一个二叉树的倒数第二个小的值。二叉树的特点是父节点的值会小于子节点的值,父节点要么没有子节点,要不左右孩子节点都有。 分析一下,根据定义,跟节点的值肯定是二叉树中最小的值,剩下的只需要找到左右子树中比跟节点大的最小值就可以了。对于这个题目,还是考察的二叉树的搜索,第一印象是BFS。使 阅读全文
posted @ 2017-10-20 15:36 潇湘旧友 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 最近,在用解决LeetCode问题的时候,做了349: Intersection of Two Arrays这个问题,就是求两个列表的交集。我这种弱鸡,第一种想法是把问题解决,而不是分析复杂度,于是写出了如下代码: 打眼一看,嗯,挺好,时间负责度是O(n),点击提交,AC;打开结果一看,EXM?才击 阅读全文
posted @ 2017-10-20 12:20 潇湘旧友 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 首先,这里使用了StringIO,导出使用的模块 设置好IO对象,把文件写到io流中,过程见注释 如果觉得生成的excel中,格式不好看,可以设置一些默认格式,我在这里写了一个函数,可以直接在添加format时使用,如下 在这里使用 阅读全文
posted @ 2017-09-26 18:54 潇湘旧友 阅读(2767) 评论(0) 推荐(0) 编辑
摘要: 工作中需要导出数据为excel格式,使用了xlwt模块,在此记录一下用到的内容。 1. 创建一个表,设置一个sheet 2. 设置列宽,cols_num是列的数目,可以通过修改12这个值,修改列的宽度 3.设置行高,修改800为别的值,可以修改行的高度 4.设置单元格风格,写成了一个函数。如注释所示 阅读全文
posted @ 2017-09-06 20:14 潇湘旧友 阅读(13308) 评论(0) 推荐(1) 编辑
摘要: 使用flask下载服务器上某个路径下的文件 path:文件路径以及需要下载的文件,直接写入参数有安全隐患,实际应用中需要判断权限之类的 阅读全文
posted @ 2017-07-13 16:10 潇湘旧友 阅读(1132) 评论(0) 推荐(0) 编辑
摘要: Python的@property装饰器用来把一个类的方法变成类的属性调用,然后@property本身又创建了另一个装饰器,用一个方法给属性赋值。下面是在类中使用了@property后,设置类的读写属性,只读和只写属性。 all方法设置的是读写属性,可以设置这个属性,也可以读取这个属性,如28行所示, 阅读全文
posted @ 2017-02-23 14:09 潇湘旧友 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 迭代器 在python中,迭代器协议就是实现对象的__iter()方法和next()方法,其中前者返回对象本身,后者返回容器的下一个元素。实现了这两个方法的对象就是可迭代对象。迭代器是有惰性的,只有在使用时才会产生,这就为处理大量数据提供了好处,不同一次性把所有数据写入内存。下面自己写了一个迭代器, 阅读全文
posted @ 2017-02-20 18:22 潇湘旧友 阅读(1089) 评论(0) 推荐(0) 编辑
摘要: 在学习python代码时,看到有的类的方法中第一参数是cls,有的是self,经过了解得知,python并没有对类中方法的第一个参数名字做限制,可以是self,也可以是cls,不过根据人们的惯用用法,self一般是在实例方法中使用,而cls则一般在类方法中使用,在静态方法中则不需要使用一个默认参数。 阅读全文
posted @ 2017-02-16 17:05 潇湘旧友 阅读(403) 评论(0) 推荐(0) 编辑