python
Joey_n
这个作者很懒,什么都没留下…
展开
-
归并、快速排序Python3代码实现
归并、快速排序Python3代码实现文章目录归并、快速排序Python3代码实现归并排序快排归并排序def merge(left, right): """合并""" result = [] while len(left) > 0 and len(right) > 0: if left[0] <= right[0]: result.append(left.pop(0)) else:原创 2020-10-19 18:27:23 · 172 阅读 · 0 评论 -
冒泡、插入、选择排序Python3代码实现
冒泡、插入、选择排序Python3代码实现仅供参考文章目录冒泡、插入、选择排序Python3代码实现冒泡排序插入排序选择排序冒泡排序class BS(object): def bubble_sort(self, list_num): for i in range(len(list_num)): # 控制次数 for j in range(len(list_num)-i-1): # 一次遍历 if list_num[j原创 2020-10-13 14:28:03 · 160 阅读 · 0 评论 -
LeetCode栈题-Python3版
LeetCode 栈题-Python3版文章目录LeetCode 栈题-Python3版20. 有效的括号155. 最小栈224. 基本计算器 update time:2020/9/3020. 有效的括号Q:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。class Solution: def isValid(self, s: str) -> bool原创 2020-09-30 15:13:46 · 135 阅读 · 0 评论 -
剑指offer-Python3版(十三)
剑指offer-Python3版(十三)文章目录剑指offer-Python3版(十三)数字在升序数组中出现的次数二叉树的深度平衡二叉树数字在升序数组中出现的次数Q:统计一个数字在排序数组中出现的次数思路right()的作用就是在升序数组中找到cur的插入位置,有相同的值就插到当前值的右边。位置相减就是所求数字的个数。class Solution: def search(self, nums: [int], target: int) -> int: def ri原创 2020-09-21 15:59:53 · 205 阅读 · 0 评论 -
剑指offer-Python3版(十二)
剑指offer-Python3版(十二)文章目录剑指offer-Python3版(十二)第一个只出现一次的字符第一个只出现一次的字符思路建一个空字典,用来存每个字符是True还是False,对错判定后面会说一共遍历2次字符串第一次遍历字符串,把每个字符存进dic,第一次存进去的就是True,后续碰到相同的就变成False,没碰到相同的就一直是True比如 ‘aba’,存a进去,dic内没有a,给a值Ture,遍历到b,dic内没有b,给b值True,遍历到a,发现dic内有a了,把True原创 2020-09-11 11:04:07 · 117 阅读 · 0 评论 -
剑指offer-Python3版(十一)
剑指offer-Python3版(十一)文章目录剑指offer-Python3版(十一)整数中1出现的次数把数组排成最小的数丑数整数中1出现的次数Q: 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。思路一开始只想到了这种,但运行很慢,力扣通不过,passclass Solution: def countDigitOne(self, n: int) -> int:原创 2020-09-07 11:40:03 · 133 阅读 · 1 评论 -
剑指offer-Python3版(十)
剑指offer-Python3版(十)文章目录剑指offer-Python3版(十)数组中出现次数超过一半的数字最小k个数连续子数组的最大和数组中出现次数超过一半的数字Q:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2思路看到网上的一个叫摩尔投票法的思想–正负抵消记众数的票数+1 ,非众数票数-1,票数和则一定大于0设众数为x,数组长度为n,原创 2020-09-01 18:04:39 · 111 阅读 · 0 评论 -
剑指offer-Python3版(九)
剑指offer-Python3版(九)文章目录剑指offer-Python3版(九)复杂链表的复制二叉搜索树与双向链表字符串的排列复杂链表的复制Q: 请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null思路复制链表cur A-B-Ccloned A'-B'-C'复制的链表依次加到原链表后A-A'-B-B'-C-C'复制原链表的random节原创 2020-08-25 18:14:28 · 208 阅读 · 0 评论 -
剑指offer-Python3版(八)
剑指offer-Python3版(八)文章目录剑指offer-Python3版(八)从上到下打印二叉树二叉搜索树的后序遍历序列二叉树中和为某一值的路径从上到下打印二叉树Q: 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 1 / \ 2 3 / \ 4 5 输出1,2,3,4,5 这个就是广度优先算法,bfs思路一般就是借助队列先进先出把root节点加入双端队列,先出队首个节点,加原创 2020-08-20 17:45:24 · 232 阅读 · 0 评论 -
剑指offer-Python3版(七)
剑指offer-Python3版(七)文章目录剑指offer-Python3版(七)顺时针打印矩阵包含min函数的栈栈的压入、弹出序列顺时针打印矩阵Q: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.思路不是很复杂,就按照题目给的思路。 [[1,2,3], [原创 2020-08-18 18:13:49 · 159 阅读 · 0 评论 -
剑指offer-Python3版(六)
剑指offer-Python3版(六)文章目录剑指offer-Python3版(六)合并两个排序的链表树的子结构二叉树的镜像合并两个排序的链表Q:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。思路 phead1 1-->3-->5-->7 phead2 2-->4-->6-->8 output ? process p1 1 --> 3原创 2020-08-14 16:44:44 · 96 阅读 · 0 评论 -
Python-推导式学习
Python 推导式学习list 列表推导式[exp1 if condition else exp2 for x in y][exp for x in y if condition]直接看例子在0-9自然数中,偶数不变,奇数0>>> test = [x if x%2==0 else 0 for x in range(10)]>>> print(test)[0, 0, 2, 0, 4, 0, 6, 0, 8, 0]在0-9自然数中,偶数平方,奇数不变&原创 2020-08-12 18:34:04 · 237 阅读 · 0 评论 -
剑指offer-Python3版(五)
剑指offer-Python3版(五)文章目录剑指offer-Python3版(五)调整数组顺序使奇数位于偶数前面链表中倒数第k个结点反转列表调整数组顺序使奇数位于偶数前面Q:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。你要是这样写class Solution: def reorderArray(self, list1): evenlist, od原创 2020-08-11 18:03:52 · 119 阅读 · 0 评论 -
剑指offer-Python3版(四)
剑指offer-Python3版(四)文章目录剑指offer-Python3版(四)矩形覆盖二进制中1的个数数值的整数次方矩形覆盖我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路:例如 n=1那就是只有一种n=2有2种情况n=3有3种情况n=4有5种情况。。。能一眼就能看出来斐波那契的orz,当然仔细摸索到n=5,差不多就能知道了。f(n)={1,n=12,n=2f(n−1)+f(n−2)n原创 2020-08-10 17:09:14 · 107 阅读 · 0 评论 -
剑指offer-Python3版(三)
剑指offer-Python3版(三)文章目录剑指offer-Python3版(三)斐波那契数列跳台阶变态跳台阶斐波那契数列大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39可能这么写有内存问题?fibonacci [0,1,1,2,3,5…] 前2个数字之和就是第三个数class Solution: def fibonacci(self, n): first = 0 se原创 2020-08-07 17:18:06 · 147 阅读 · 0 评论 -
剑指offer-Python3版(二)
剑指offer-Python3版(二)文章目录剑指offer-Python3版(二)重建二叉树2个栈实现队列旋转数组的最小数字重建二叉树Q: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。这个根据先根中根遍历拿到二叉树的问题,以前在学数据结构的时候经常遇到,我给个实例看一下整个流程是怎么走的,方便理解。前序原创 2020-08-07 09:26:26 · 163 阅读 · 0 评论 -
剑指offer-Python3版(一)
剑指offer Python3 版 (一)daily learn文章目录剑指offer Python3 版 (一)二维数组查找空格替换二维数组查找Q:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。有不对的请大佬指正思路 我的策略是从第一个数字开始往右找,到头了就往下一列继续往右找,直到最后一个别把 i 和 j 搞混了[[ * * * ]原创 2020-08-05 10:48:48 · 379 阅读 · 0 评论 -
记一次python后端从web服务器下载文件
记一次tornado框架python后端从web服务器下载文件过程date 2020.7.21Q:暂定的过程用post方法,先前用的get,传body内文件名。1、首先获取前端需要下载什么文件。2、找到文件在服务器上面的路径。3、将文件读进内存4、将文件以流的方式写出Q:下载的是文件名是download,而且没有后缀 但加了.mp4后缀后文件是正常的,但我要的文件带的是下载的是在服务器内的文件名,所以在这里找一下问题self.set_header('Content-Disposi原创 2020-07-22 20:32:01 · 1092 阅读 · 0 评论 -
Python3内置函数学习(五-完结)
Python3内置函数学习(五)文章目录Python3内置函数学习(五)setsetattrslice()sorted()staticmethod()str()sum()super()tuple()type()vars()zip()__import__ ()set语法 set([iterable])返回一个新的 set 对象/新的集合对象,可以选择带有从 iterable 获取的元素>>> set('qwe') {'w', 'q', 'e'}setattr语法 se原创 2020-07-21 22:49:36 · 97 阅读 · 0 评论 -
little exercise
little exercisedaily learn输出素数还能这么写 2020.7.20import mathfor num in range(2, 100): is_prime = True for factor in range(2, int(math.sqrt(num)) + 1): if num % factor == 0: is_prime = False break if is_prime:原创 2020-07-20 20:18:43 · 347 阅读 · 0 评论 -
Python3内置函数学习(四)
Python3内置函数学习(四)文章目录Python3内置函数学习(四)memoryview()min()next()object()oct()open()ord()pow()print()property()range()repr()reversed()round()memoryview()返回由给定实参创建的“内存视图”对象语法 memoryview(obj)所谓内存查看对象,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问>>> v原创 2020-07-19 12:58:01 · 378 阅读 · 0 评论 -
python3内置函数学习(三)
Python3内置函数(三)文章目录Python3内置函数(三)hansh()help()hex()id()input()int()isinstance()issubclass()iter()len()list()locals()map()max()daily learnhansh()用于获取取一个对象(字符串或者数值等)的哈希值哈希值是整数。它们在字典查找元素时用来快速比较字典的键。相同大小的数字变量有相同的哈希值(即使它们类型不同,如 1 和 1.0)。语法 hash(object)&原创 2020-07-18 18:27:25 · 247 阅读 · 0 评论 -
Python3内置函数学习(二)
Python3内置函数(二)Python3内置函数Python3内置函数(二)delattr()dict()dir()divmod()enumerate()eval()exec()filter()float()format()frozenset()getattr()globals()hasattr()daily learndelattr()删除属性class Coordinate: x = 10 y = -5 z = 0 point1 = Coordinate()原创 2020-07-17 11:55:25 · 459 阅读 · 0 评论 -
Python3内置函数学习(一)
Python内置函数daily learnpython内置函数abs(x)abs()返回一个数的绝对值浮点数>>> abs(-3.4)3.4复数的虚部以j或者J作为后缀 返回模 >>> abs(3+2j)3.605551275463989all()括号里面可以是元组或者列表如果 iterable 的所有元素均为真值(或可迭代对象为空)则返回 True简单来说元素全是 True 才是True,有个 0、空、FALSE就是原创 2020-07-16 16:08:09 · 165 阅读 · 0 评论