- 博客(6)
- 收藏
- 关注
原创 python 移除元素
要求:给定一个数组,移除其中等于某个值的数 a=[1,1,2,2,3,3,44,2,2,3,2]b=2flag=0for i in range(len(a)): if a[i]!=b: a[flag]=a[i] flag=flag+1print(a)...
2019-03-25 10:28:45
523
原创 删除排序数据中的重复项 python
使用两个变量进行定位(双指针)a=[1,1,1,3,3,4,4,5,5]i=0for j in range(1,len(a)-1): if(a[i]!=a[j]): i=i+1 a[i]=a[j]print(i)print(a)结果3[1, 3, 4, 5, 3, 4, 4, 5, 5]...
2019-03-24 22:32:17
185
原创 求最大子数组的简便方法。
给定一个数组 例:a=[1,-3,4,5,-9,2,-4,5]求其最大子数组,1)暴力法 2)分治思想 3)动态规划 等以下为时间复杂度 O(n)的另一种算法: b=[1,-3,4,5,-9,2,-4,5]max=-2*221cur=0for i in range(len(b)): cur=cur+b[i] if cur <0: ...
2019-03-22 21:41:37
134
原创 Python 插入排序算法
算法核心:排序数组,将一个数按大小插入到一个有序的数组中即可。代码:def insert_sort_1(List): for i in range(1,len(List)): #在实践中写的另一种,依次与前方数组的数进行对比,发现插入的值大就交换位置 j=i-1 while(j>=0 and List[i]<List[j]...
2019-03-21 13:10:39
145
原创 冒泡排序的两种优化笔记
def bubble_sort(List): pos = len(List)-1 #优化1,将每一次循环终点定位上一次交换的地点 #这样不用对那些后面已经排好顺序的数再进行排序 for i in range(len(List)-1): flag=0 #优化二,如果提前完成排序便可退出 for j in range(p...
2019-03-20 15:17:08
96
原创 算法导论中的快排笔记
排序一个数组:步骤1:找一个基准点(以数组最后一位为例)步骤2:遍历数组,将比基准点小的数依次进行替换,同时记录下替换的次数步骤3:根据替换的次数,将基准点放在相应的位置,进而基准点的左边数组均比其小,右边的均比其大。步骤4:对左边与右边的数组均进行上述操作。代码:def sort(List,begin,end): i=begin-1 //交换的...
2019-03-20 11:42:12
195
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人