用 Python 编写程序,计算达到阈值百分比所需的 5 星评论数量
pythonserver side programmingprogramming更新于 2025/12/17 10:20:17
假设我们有一个名为 reviews 的列表和一个阈值 t。reviews[i] 中的每个项目都有 [x, y],表示产品 i 有 x 个 5 星评级和 y 个评论。我们必须找到所需的最少额外 5 星评论数量,以便这些项目列表中的 5 星评论百分比至少为 t%。
因此,如果输入为 reviews = [[3, 4],[1, 2],[4, 6]] 阈值 = 78,则输出将为 7,因为总共有 8 个 5 星评论和 12 个评论。要达到 78% 的 5 星评价,我们需要另外 7 条 5 星评价。
要解决这个问题,我们将遵循以下步骤 −
a := 0, b := 0
对于评论中的每个 5 星计数 c 和评论计数 d,执行
a := a + c
b := b + d
如果 a * 100 >= t * b,则
返回 0
delta := t * b - 100 * a
返回 floor (delta +(99 - t))/(100 - t)
示例
让我们看看下面的实现以便更好地理解
def solve(reviews, t):
a = 0
b = 0
for c, d in reviews:
a += c
b += d
if a * 100 >= t * b:
return 0
delta = t * b - 100 * a
return (delta + (99 - t)) // (100 - t)
reviews = [
[3, 4],
[1, 2],
[4, 6]
]
t = 78
print(solve(reviews, t))
输入
[[3, 4], [1, 2],[4, 6] ],78
输出
7
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

