
Python
做模拟IC的KS
这个作者很懒,什么都没留下…
展开
-
Python:优先队列的使用及类的自定义比较函数
当一个对象的所有元素都是可比较的时,默认情况下是根据队列中的对象的第一个元素进行排序,越小的优先级越高,排在越前面。当第一个元素相同时,依次比较后续的元素的大小来进行排序。其中,__lt__定义了根据score属性进行从大到小的排列。即当PriorityQueue入队一个类实例的时候,会自动根据score属性进行比较。方法:使用重载方法__lt__,__lt__是python中用于进行特定比较的方法。模块,所以它的时间复杂度和heapq是相同的。,在入队的时候需要根据类的某一属性进行比较。原创 2023-04-24 21:12:51 · 1855 阅读 · 0 评论 -
Python常用标准库之datetime模块
datetime模块提供了五个常用类:date、time、datetime、timedelta、tzinfo,接下来我们对这五个常用类进行说明。转载 2022-10-20 23:28:25 · 391 阅读 · 0 评论 -
快速判断素数的算法(比根号N的复杂度更快)
【代码】最快判断素数的算法(比根号N的复杂度更快)原创 2022-09-13 21:38:02 · 674 阅读 · 0 评论 -
Python:将列表指定位置的两个元素调换位置
代码】Python:将列表指定位置的两个元素调换位置。原创 2022-08-17 19:51:00 · 6629 阅读 · 0 评论 -
Python:bisect的基本用法
代码】Python:bisect的基本用法。原创 2022-08-08 11:37:51 · 208 阅读 · 0 评论 -
Python:从清华源安装第三方库
pipinstall要安装的包-ihttps//pypi.tuna.tsinghua.edu.cn/simple。博主就是每次都需要上网搜感觉很麻烦所以建议收藏呀~比如说要安装selenium包,可以这样写。首先要把pip升级到10以上。如果发现报错清华源不被信任。可以把清华源设置为默认源。再执行一次pip操作即可。............原创 2022-07-22 10:46:27 · 17221 阅读 · 0 评论 -
Python:判断一个数是否是完全平方数
Python判断一个数是否是完全平方数。原创 2022-07-19 11:10:29 · 8313 阅读 · 0 评论 -
Python:sys.stdin.readline 和 input的区别 | 加速输入
关于input( )和sys.stdin.readline( )的区别sys.stdin.readline( )会将标准输入全部获取,包括末尾的'\n',input()会把‘\n’忽略原创 2022-07-03 12:13:49 · 1076 阅读 · 0 评论 -
Python:i for i in range(n)的时间复杂度|冷知识
lst = [0for i in range(10)]哎你可能会说 这不就是创建一个长度为10的全0列表嘛 那时间复杂度就应该是O(1)的吧害 那你跟我一样一直都在犯错误啦 其实他是O(n)的一般来说 以下两条语句的执行效果应该是完全相同的:...............原创 2022-07-02 18:33:47 · 2016 阅读 · 0 评论 -
Python:最长上升子序列和
给定一组数字 求一个拥有最大和的上升序列原创 2022-06-03 21:17:59 · 402 阅读 · 0 评论 -
Python:最长公共上升子序列模版
最长公共上升子序列的模版(Python)原创 2022-05-31 23:42:08 · 461 阅读 · 0 评论 -
Python:欧拉函数模版
#! 欧拉函数:对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n)n = int(input())primes = [] # 存质数values = [1]*(n+1) # 存欧拉函数的值values[0] = 0 # 0的欧拉函数值为0st = [True for i in range(n+1)] # 存每个数是否是质数def get_eulor(n): for i in range(2, n+1): # 对于每个大于2的自然数 if st..原创 2022-05-24 11:22:11 · 1010 阅读 · 0 评论 -
Python :单调栈
单调栈:用于求解一个序列中 每个元素 左边或右边第一个比其小的元素。# 查找 「比当前元素大的元素」 就用 单调递增栈,查找「比当前元素小的元素」就用 单调递减栈。# 从 「左侧」 查找就看 「插入栈」 时的栈顶元素,从 「右侧」 查找就看 「弹出栈」 时即将插入的元素N = int(input())building = list(map(int,input().split()))def nextGreaterElement(nums) : # 寻找右边比这个元素大的元素 r原创 2022-04-07 09:46:06 · 1054 阅读 · 0 评论 -
Python :二叉树 遍历
前序遍历:根左右中序遍历:左根右后序遍历:左右根前序中出现AB,后序中出现BA,则这个节点只有一个儿子原创 2022-04-07 09:47:23 · 434 阅读 · 0 评论 -
Python :进制转换
n = input()#? x进制转十进制x = eval(input())res_1 = int(n,x)print(res_1) #? 十进制转十六进制m = hex(int(n)) # 10 转 16m = m[2:]t = m.upper() # 返回一个对象 小写字母改大写print(t)#? 十进制转八进制print(oct(int(n))[2:])#? 十进制转二进制print(bin(int(n))[2:])...原创 2022-04-07 10:01:52 · 287 阅读 · 0 评论 -
Python :矩阵旋转
# 矩阵顺时针Map1 = [ [1,2,3,4,5], [6,7,8,9,10], [11,12,13,14,15], [16,17,18,19,20], [21,22,23,24,25]]Map1 = Map1[::-1] # 翻转矩阵Map1 = list(map(list,zip(*Map1))) # *list 解压列表print(Map1)# 矩阵逆时针Map2 = [ [1,2,3,4,5], [6,7,8,9,10]..原创 2022-04-07 13:02:18 · 1760 阅读 · 0 评论 -
Python : 不常用且实用函数复习
import functoolstest1 = [1,2,3,4]test2 = [0,1,2,3]test3 = [0,0,0,0]# all 返回可迭代对象中的值是否都为真print(all(test1)) # Trueprint(all(test2)) # Faslea,b = divmod(7,2)print(a,b) # 3 1for item in iter(test1) : print(item,end=" ") # 1 2 3 4 # reduce() .原创 2022-04-07 13:14:07 · 279 阅读 · 0 评论 -
Python :两个求子集/子串函数
# 返回字符串的所有子串def cut(s): results = [] # x + 1 表示子字符串长度 for x in range(len(s)): # i 表示偏移量 for i in range(len(s) - x): results.append(s[i:i + x + 1]) return results# 返回所有子集def subsets(nums): # nums 是一个数组(全集) .原创 2022-04-07 13:27:15 · 527 阅读 · 0 评论 -
Python : 树状数组模版
def createTree(array) : _array = [0] + array length = len(array) for i in range(1,length+1) : j = i + (i & -i) if j < length + 1 : _array[j] += _array[i] return _arraydef lowbit(x) : return x &..原创 2022-04-07 13:18:04 · 532 阅读 · 0 评论