中等
技术面试0 次浏览百度的搜索业务需要对搜索结果进行排序。假设我们有一个搜索结果列表,每个结果有一个相关性得分和一个热度得分。请设计一个排序算法,综合考虑相关性得分和热度得分对结果进行排序。请给出算法的思路和代码实现。
百度算法工程师
排序算法搜索业务得分计算
答题要点
推荐使用自定义排序规则的答题框架。关键要点:1. 定义得分计算公式:根据相关性得分和热度得分定义一个综合得分。2. 实现排序算法:可以使用 Python 的 sorted 函数,自定义排序规则。3. 排序规则:根据综合得分进行降序排序。4. 返回结果:返回排序后的搜索结果列表。示例思路:先定义一个综合得分的计算公式,然后使用 sorted 函数,通过 key 参数指定排序规则。示例代码如下:python results = [{'relevance': 0.8, 'popularity': 0.6}, {'relevance': 0.7, 'popularity': 0.8}] def combined_score(result): return 0.6 * result['relevance'] + 0.4 * result['popularity'] sorted_results = sorted(results, key=combined_score, reverse=True) print(sorted_results)