视频推荐的算法(字节青训)

题目:

西瓜视频

正在开发一个新功能,旨在将访问量达到80百分位数以上的视频展示在首页的推荐列表中。实现一个程序,计算给定数据中的80百分位数。

例如:假设有一个包含从1到100的整数数组,80百分位数的值为80,因为按升序排列后,第80%位置的数字就是80。

99 百分位数:假如有 N 个数据,将数据从小到大排列,99 百分位数是第 N99%位置处的数据(遇到小数时四舍五入获取整数)。一般计算逻辑是先排序,定位到 N99%的位置。返回该位置处的数据。同理,80 百分位数就是第 N*80%位置处的数据。

demo:

python 复制代码
def solution(data):
    data_list = list(map(int, data.split(",")))
    data_list.sort()
    n = len(data_list)
    index = round(n * 0.8) - 1
    return data_list[index]
if __name__ == "__main__":
    print(solution("10,1,9,2,8,3,7,4,6,5") == 8 )
    print(solution("1,0,8,7,3,9,12,6,4,15,17,2,14,5,10,11,19,13,16,18") == 15)
    print(solution("76,100,5,99,16,45,18,3,81,65,102,98,36,4,2,7,22,66,112,97,68,82,37,90,61,73,107,104,79,14,52,83,27,35,93,21,118,120,33,6,19,85,49,44,69,53,67,110,47,91,17,55,80,78,119,15,11,70,103,32,9,40,114,26,25,87,74,1,30,54,38,50,8,34,28,20,24,105,106,31,92,59,116,42,111,57,95,115,96,108,10,89,23,62,29,109,56,58,63,41,77,84,64,75,72,117,101,60,48,94,46,39,43,88,12,113,13,51,86,71") == 96)

后记:字节青训的活动不错哩,还送会员,下次有这种活动我家子涵还来参加。测试了AI,又能学到自己想学的东西:加油哇学完自己想学的东西------

相关推荐
不会就选b2 小时前
算法日常・每日刷题--<优先级队列>2
数据结构·算法
hanlin032 小时前
刷题笔记:力扣第189题-轮转数组
笔记·算法·leetcode
琥珀色糖2 小时前
leetcode hot100题(持续更新)移动零(双指针)
算法·leetcode·职场和发展·双指针·移动零
AndrewHZ3 小时前
【LLM技术全景】RAG 从原理到实战——检索增强生成完整指南
人工智能·深度学习·算法·llm·检索增强·生成式模型·rag
LuminousCPP3 小时前
单链表专题(三)-刷题复盘篇:从快慢指针到环形链表 II 数学推导
数据结构·经验分享·笔记·学习·算法·链表
-dzk-3 小时前
【贪心算法】LC 121.买卖股票的最佳时机
算法·贪心算法
hanlin033 小时前
动态规划专练:力扣第718、1143题
算法·leetcode·动态规划
ChaoZiLL3 小时前
二叉树经典例题
数据结构·算法
不正经学生3 小时前
C语言字符串函数进阶:安全版函数 + 错误处理 + 子串查找
c语言·开发语言·c++·算法·面试
三克的油4 小时前
算法基础-1
数据结构·c++·算法