Day4-快速排序和反转整数

Posted spytensor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day4-快速排序和反转整数相关的知识,希望对你有一定的参考价值。

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-快速排序和反转整数的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode算法,每日一题,冲击阿里巴巴,day4

leetcode刷题day4

leetcode刷题day4

Python 中的反转字符串:reversed()切片等

程序猿的第172天:N个正整数快速排序

使用 C++ 反转句子中的每个单词需要对我的代码片段进行代码优化