本站消息

站长简介/公众号


站长简介:逗比程序员,理工宅男,前每日优鲜python全栈开发工程师,利用周末时间开发出本站,欢迎关注我的微信公众号:幽默盒子,一个专注于搞笑,分享快乐的公众号

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2020-07(10)

2020-08(50)

kim的每日刷题.LC.164. 最大间距

发布于2020-11-28 12:34     阅读(915)     评论(0)     点赞(21)     收藏(4)



使用桶排序 

  1. class Solution(object):
  2. def maximumGap(self, nums):
  3. """
  4. :type nums: List[int]
  5. :rtype: int
  6. """
  7. lens = len(nums)
  8. if lens < 2: return 0
  9. if lens == 2: return abs(nums[0]-nums[1])
  10. maxn = max(nums)
  11. minn = min(nums)
  12. # 桶的长度
  13. bucklen = max(1, (maxn - minn) // len(nums) + 1)
  14. # 桶的数目
  15. buck = [[] for _ in range((maxn - minn) // bucklen + 1)]
  16. for i in range(lens):
  17. ind = (nums[i] - minn) // bucklen
  18. buck[ind].append(nums[i])
  19. print(buck)
  20. pre = float('inf')
  21. maxGap = 0
  22. # 计算最大间距
  23. for i in range(len(buck)):
  24. if buck[i] and pre != float('inf'):
  25. maxGap = max(maxGap, min(buck[i]) - pre)
  26. if buck[i]:
  27. pre = max(buck[i])
  28. return maxGap

 






所属网站分类: 技术文章 > 博客

作者:丸子

链接:https://www.pythonheidong.com/blog/article/635444/38610008f9d4017254f6/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

21 0
收藏该文
已收藏

评论内容:(最多支持255个字符)