汕尾海湾 发表于 2024-12-25 09:40:47

SQL面试题——奖金瓜分问题

奖金瓜分问题

在活动大促中,有玩游戏瓜分奖金环节。现有奖金池为 10000元,代表奖金池中的初始额度。用户的分数信息如下表。表中的数据代表每一个用户和其对应的得分,user_id 不会有重复值。瓜分奖金的规则如下:按照 score 从高到低依次瓜分,每个人都能分走当前奖金池内里剩余奖金的一半,当奖金池内里剩余的奖金少于 250 时(不含),则停止瓜分奖金。 现在需要查询出所有分到奖金的 user_id 和其对应的奖金。
+-------+-----+
|user_id|score|
+-------+-----+
|    100|   60|
|    101|   45|
|    102|   45|
|    103|   35|
|    104|   30|
|    105|   25|
|    106|   15|
|    107|   10|
+-------+-----+
分析

该题目相对简单,给用户根据score举行排名,然后依次给出金额即可。难点是怎样计算瓜分金额、怎样计算奖池余额。
我们看到每次都是之前的1/2,其实很明显是一个等比数列,或者我们可以这么理解每个用户都有一个获取奖金的除数,第一个人的除数是2,第二个人的除数是4,以此类推,由于被除数是不

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: SQL面试题——奖金瓜分问题