当前位置: 首页 > news >正文

做塑料的网站名字图片外链生成工具在线

做塑料的网站名字,图片外链生成工具在线,天津网站建设有哪些,小游戏点开即玩一、问题 对列表进行排序,已知列表中的数范围都在0到100之间。设计时间复杂度为O(n)的算法。 二、解决思路 我们已知数字的范围,那么我们可以将数字的个数得到: 例如:有一个0~5的列表 [1,3,2,4,1,2,3,1,3,5] 则共有0个0&am…

一、问题

对列表进行排序,已知列表中的数范围都在0到100之间。设计时间复杂度为O(n)的算法。

二、解决思路

我们已知数字的范围,那么我们可以将数字的个数得到:

例如:有一个0~5的列表

[1,3,2,4,1,2,3,1,3,5]   则共有0个0,3个1,2个2,3个3,1个4,1个5。

再直接进行排序即可,可以将原来的列表覆盖。

示例代码如下:

def count_sort(li, max_count = 100):count = [0 for _ in range(101)]  #创建101个数字为0的列表for val in li:   #遍历列表中的元素count[val] += 1   # 找到后+1 ;count[val]相当于元素的数量li.clear()# 再一次遍历count,其中ind = val代表数的值,v = count[val]代表数字有几个for ind, v in enumerate(count):  # v代表有几个数值, i代表数值for i in range(v):li.append(ind)import random
li = [random.randint(0,100) for i in range(100)]
print(li)
count_sort(li)
print(li)

输出结果如下:

注意点:

  1. 此时n为li的长度,代码中虽然是一共有两层循环,但是长度都不是n,两层循环的复杂度一共为O(n) 。
  2. 计数排序使用需要一个已知条件:已知数值的范围。

http://www.ritt.cn/news/15214.html

相关文章:

  • 在网盘上怎么做自己的网站百度平台联系方式
  • 花都做网站公司谷歌广告开户
  • 网站如何排版中国广告网
  • 检察院加强网站建设青岛seo经理
  • 网站做的二维码失效了seo排名优化厂家
  • 能自己做二次元人物的网站免费优化
  • 福州网吧宁德seo
  • 国内服务器网站优化检测
  • 做网站到底要不要备案短视频平台推广
  • 如何创建一个公司网站郑州网络营销排名
  • 福州网站建设发布中国营销策划第一人
  • 如何在建设厅网站投诉百度联盟项目看广告挣钱
  • 福州做网站设计手机优化管家
  • vc 做网站源码关键词首页排名优化价格
  • 音响网站模板苏州网站优化排名推广
  • 如何做原创小说网站网站关键词有哪些
  • 贵阳网站建设企业网站seo运营
  • 如何给网站流量来源做标记通过在网址后边加问号?全国疫情最新名单
  • 网站怎么优化推广重庆自动seo
  • 艺术学院网站模板网络营销常用的方法有哪些
  • 新乡做网站哪家好店铺推广怎么做
  • 做爰全的网站网络营销培训机构
  • 用dw做的网站容易变形百度企业官网认证
  • 中国住房和建设委员会网站针对大学生推广引流
  • 做网站需要套模板免费的外贸b2b网站
  • 做教育网站有什么好处html网页制作案例
  • 的动态网站开发百度搜索指数在线查询
  • 做网站用jsp还是html我要发布信息
  • 免费做网站哪家好常州百度推广代理
  • 彩票网站什么做5188关键词挖掘工具