基础程序知识
文章平均质量分 78
爱学习的小事情
这个作者很懒,什么都没留下…
展开
-
python的ruduce()函数
import functools#from functools import reducefunctools.reduce(函数, 数据集合),该函数对参数序列中的元素进行累积。函数可以是def写的函数,也可以是lambda写的函数,要有两个参数。数据集合可以是数组、链表、元组等。数据集合第一和第二个数据进行函数计算后,得到的结果与数据集合的第三个数据进行函数计算,依次类推直到结束。ans = functools.reduce(lambda x,y:x*y,...原创 2022-04-04 14:48:34 · 568 阅读 · 0 评论 -
时间复杂度和空间复杂度
一、时间复杂度一个特定算法的“运行工作量”的大小只依赖于问题的规模(通常用整数量n表示)。一般情况下,算法的基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间度量记作:T(n) = O(f(n))简称时间复杂度,随问题规模n增大,算法执行时间的增长率和f(n)的增长率相同。1.1 常见的时间复杂度相对复杂一点的算法里,可能拆分出O(1),O(n)等的时间复杂度,但整个算法只看最大的时间复杂度。1.1.1 O(1)...原创 2022-04-02 21:31:51 · 270 阅读 · 0 评论 -
python 的bin()
leetcode遇到191. 位1的个数,输入的是二进制32位的形式,看官方解法用了bin()。bin(x)的参数x可以是普通的十进制数,也可以是32位的二进制。教程常见的是前者,直接把十进制转换成str,前面是0b(零b),比如:bin(250)Out[1]: '0b11111010'像leetcode这道题用了32位二进制数,bin(x)会得到:观察后发现bin(x)把x前面的零给去掉了,从遇到的第一个1开始保留后面...原创 2022-03-21 16:24:05 · 874 阅读 · 0 评论 -
栈与Python
栈stack和队列queue都是线性操作的子集。stack只在表尾进行插入或者删除操作,是线性表。stack的尾端是栈顶(top),表头是栈底(bottom)。S = (,,…,),是表里第一个元素,称其为栈底bottom元素,是栈顶top元素,按顺序入栈,退栈的第一个元素是栈顶元素。(怎么感觉栈是沸腾片那种,最先装进去的bottom要最后才能吃到,封装前放进去的那一片top,顾客是最先吃到的呢嘻嘻)栈是LIFO(last in f...原创 2022-03-20 21:40:03 · 662 阅读 · 0 评论 -
python 位运算符
跟二进制密切相关符号 名 理解 操作 & 与 和的意思 a, b同一个位置是1和1才能得到1 | 或 或者的意思 a, b同一个位置有1就能够得到1 ^ 异或 可以当做异否? a, b同一个位置异的话,得到1 ~ 取反 非的意思 a每个位置都反一次 << 左移动 ←左推掉n个数,右缺位补0 a乘2的n次方 >> 右移动 →右挤掉n原创 2022-03-20 16:19:43 · 845 阅读 · 0 评论