Day4-快速排序和反转整数
Posted spytensor
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day4-快速排序和反转整数相关的知识,希望对你有一定的参考价值。
几次面试后深知非科班在基础上的弱势,故决定自2018年5月7日起刷一波算法和数据结构,编程语言为:Python。
(4)排序算法-快速排序
算法思想:
快速排序的核心思想是分而治之,从数组中选一个元素(此处选择最后一个元素),通过数组中的其他元素与其进行比对,将数组分为两部分:左边均比中间的小,右边均比中间大,然后进行递归处理。
Python代码:
def quickSort(A):
if len(A) < 2:
return A
left = [] #左子数组
right = [] #右子数组
temp = A.pop() #最后一个元素
for i in A:
if i < temp:
left.append(i)
else:
right.append(i)
return quickSort(left) + [temp] + quickSort(right)
LeetCode-7 反转整数
问题描述:
给定一个32位的有符号整数,将整数的数字进行反转。例如,321转为123;-123转为-321;如果超过整数界限,则返回0。
实现代码:
class Solution:
def reverse(self, x):
""" :type x: int :rtype: int """
sign = -1 if x < 0 else 1
result = int(str(abs(x))[::-1])
if result > 2 ** 31 -1:
return 0
else:
return sign * result
Python算法实现之---冒泡排序
爬虫:雷锋网数据爬取+词云制作
深度学习开发环境配置--win10+Tensorflow-GPU
以上是关于Day4-快速排序和反转整数的主要内容,如果未能解决你的问题,请参考以下文章