[1,2,3,4,5,6,6,6,6,7,8,9]这个list的90分位数是7.9
分位数(Quantile),亦称分位点,是指将一个随机变量的概率分布范围分为几个等份的数值点,常用的有中位数(即二分位数)、四分位数、百分位数等。
首先将你的输入数组进行从小到大排序,然后计算:
(n−1)*p=i+j
其中n为数组元素的个数,将计算结果的整数部分用i表示,小数部分用j来表示。则最终的percentile值为:
res=(1−j)*array[i]+j*array[i+1]
因为题目给的数组是排好序的,所以我们计算(n-1)*p=(12-1)*0.9=9.9,则整数部分i=9,小数部分j=0.9。查找数组得知,array[i]=array[9]=7;array[i+1]=array[10]=8。
res=(1−j)∗array[i]+j∗array[i+1]=(1−0.9)∗7+0.9∗8=7.9