
快速排序
快速排序的核心思想在于:首先在这个序列中随便找一个数作为基准数,然后将这个序列中所有比基准数大的数放在该数字的右边,比基准数小的数放在该数字的左边。第一轮排序结束之后,再分别对已经好的基准书左边(比基准数小)和基准书右边(比基准书大)的数字序列重复上述操作,用递归形式即可实现快速排序,完成对整个序列的排序。
def quicksort(a, left, right):
if left>right:
return -1
temp=a[left]
i=left
j=right
while i!=j:
while a[j]>=temp and i<j:
j-=1
while a[i]<=temp and i<j:
i+=1
if i<j:
a[i],a[j]=a[j],a[i]
a[left]=a[i]
a[i]=temp
quicksort(a,left,i-1)
quicksort(a,i+1,right)
a=[4, 2, 7,8, 0, 1, 5,23]
quicksort(a,0,len(a)-1)
print(a)
按奇偶排序数组
借用快速排序思想,i从前往后,j从后往前
class Solution:
def sortArrayByParityII(self, A):
i = 0
j = len(A) - 1
while i < len(A) and j >= 0:
while i < len(A):
if A[i] % 2 == 0:
i = i + 2
else:
break
while j >= 0:
if A[j] % 2 != 0:
j = j - 2
else:
break
if i < len(A) and j >= 0:
A[i], A[j] = A[j], A[i]
return A
s = Solution()
print(s.sortArrayByParityII([4, 2, 5, 7, 8, 9]))
技术篇目录
基础篇
python基础知识点总结之语言篇
python基础知识点总结之第三方库篇
软件工程及数据库相关知识篇
爬虫系列
python爬虫初体验,爬取中国最好大学网大学排名
python爬虫再体验,爬取文章浏览量,俗人必备工具
基础算法系列
python自定义解决base64编码
Python代码破解路由器config.bin从入门到放弃
网友评论