1. 贪心算法问题: 根据身高重建队列

# encoding=utf-8
"""
Date:2019-07-18 13:43
User:LiYu
Email:liyu_5498@163.com
"""
info = [
[7, 0], [4, 4], [7, 1],
[5, 0], [6, 1], [5, 2]
]
def high_sort(info):
# 先按照身高从大到小排序[[7, 0], [7, 1], [6, 1], [5, 0], [5, 2], [4, 4]]
high_sort_info = sorted(info, key=lambda x: x[0], reverse=True)
new_info = []
for i in range(len(high_sort_info)):
# 如果该人前面比他高的等于他的位次,则不变
if high_sort_info[i][1] == i:
new_info.insert(i, high_sort_info[i])
# print(new_info)
# 不等于,则他的位置应该为索引是 比他高的人数 的位置
else:
new_info.insert(high_sort_info[i]

本文介绍了贪心算法在根据身高重建队列问题中的应用,以及动态规划解决三角形最小路径和与合唱团安排问题。同时探讨了不同排序算法的应用场景,如插入排序、选择排序、归并排序,并提出了一种解决全班作业排序的方案——利用归并排序。此外,还讨论了如何将排序算法封装到自定义模块mySort并发布到pypi网站。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



