Day5-基数排序和最后单词的长度

Posted spytensor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day5-基数排序和最后单词的长度相关的知识,希望对你有一定的参考价值。

Day5-基数排序和最后单词的长度

几次面试后深知非科班在基础上的弱势,故决定自2018年5月7日起刷一波算法和数据结构,编程语言为:Python。



(5)排序算法-基数排序

算法思想:

基数排序是按照低位先排序,然后收集;再按照高位排序,然后再收集;依次类推,直到最高位。有时候有些属性是有优先级顺序的,先按低优先级排序,再按高优先级排序。最后的次序就是高优先级高的在前,高优先级相同的低优先级高的在前。基数排序基于分别排序,分别收集,所以是稳定的。

Python代码:

import math  
def radix_sort(lists, radix=10):      k = int(math.ceil(math.log(max(lists), radix)))      bucket = [[] for i in range(radix)]      for i in range(1, k+1):          for j in lists:              bucket[j/(radix**(i-1)) % (radix**i)].append(j)          del lists[:]          for z in bucket:              lists += z              del z[:]      return lists




LeetCode-58 最后一个单词的长度

问题描述:

给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。

说明:一个单词是指由字母组成,但不包含任何空格的字符串。

实现代码:

class Solution:
    def lengthOfLastWord(self, s):
        """        :type s: str        :rtype: int        """
        a = s.strip().split(" ")        
       return len(a[-1])


Python算法实现之---冒泡排序

深度学习开发环境配置--win10+Tensorflow-GPU



以上是关于Day5-基数排序和最后单词的长度的主要内容,如果未能解决你的问题,请参考以下文章

一道基数排序的简单题目

Java中逆序的基数排序

第十六周 项目4--英语单词的基数排序

第十六周 项目4--英语单词的基数排序

这个基数排序代码中的最后一个“for”循环是做啥的?

排序算法之基数排序