Day5-基数排序和最后单词的长度
Posted spytensor
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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-基数排序和最后单词的长度的主要内容,如果未能解决你的问题,请参考以下文章