python
啦啦啦(●'◡'●)
这个作者很懒,什么都没留下…
展开
-
常见排序算法:冒泡、选择、插入、希尔、归并、快速
1.冒泡排序通过相邻元素比较交换,将关键字较大的记录在经过比较后逐步向后移动。时间复杂度:O(n^2),空间复杂度:O(1),稳定排序。def bubble(arr): n=len(arr) for i in range(n-1): count=0 for j in range(n-1-i): if arr[j]>arr[j+1]: arr[j],arr[j+1]=arr[j+1],arr[j原创 2021-11-15 17:05:35 · 554 阅读 · 0 评论 -
动态规划的组成与股票问题
动态规划的组成部分确定状态:最后一步;转化为子问题转移方程初始状态和边界情况计算顺序股票的最大利润力扣剑指offer 63假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可获得的最大利润是多少?输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。分析:dp[i]代表前i天的利润最原创 2021-11-13 10:56:06 · 375 阅读 · 0 评论 -
python并查集模板
模板class UnionFind(): def __init__(self,n): self.parent=list(range(n)) self.count=n #记录组数 def find(self,node): #查找node的父节点 while node!=self.parent[node]: self.parent[node]=self.parent[self.parent[node]] #路径压缩原创 2021-10-07 10:07:47 · 146 阅读 · 0 评论 -
python 从键盘获取数据(整数、列表、矩阵)
从键盘获取一个整数m=int(input('输入:'))print('输出:',m)从键盘获取两个或以上整数,数字之间用空格隔开m,n=map(int,input('输入:').split())print('输出m,n:',m,n)从键盘获取列表nums=[int(i) for i in input('输入:').split()]print('输出',nums)从键盘获取m*n矩阵m=3res=[]for i in range(m): ans=[int(j) for j原创 2021-10-03 11:21:30 · 4655 阅读 · 1 评论