第85天:100天DSA编码挑战

发布: (2025年12月28日 GMT+8 12:59)
2 min read
原文: Dev.to

Source: Dev.to

挑战概述

接受一个新挑战:每天解答 GeeksforGeeks 的每日题目(POTD),并分享我的解法! 💻🔥

问题

完成所有订单的最短时间
GeeksforGeeks – Minimum time to fulfil all orders

难度: Hard 准确率: 66.7%

Geek 正在他家举办派对。为派对,他需要恰好 n 个甜甜圈给客人。Geek 决定向一家附近的餐厅订购甜甜圈,该餐厅有 m 位厨师,每位厨师都有一个等级 r

解题思路

该问题可以通过对答案(时间)进行二分查找来解决。对于给定的时间 mid,我们计算每位厨师在该时间内可以制作多少个甜甜圈并求和。如果总数至少为 n,则尝试更小的时间;否则,增加时间。

def minimum_time(ranks, n):
    # Helper to compute donuts a chef with rank r can make in given time t
    def donuts_made(r, t):
        # Solve r * k * (k + 1) / 2 = n:
                break
        if total >= n:
            high = mid
        else:
            low = mid + 1
    return low

函数 minimum_time 返回厨师们生产至少 n 个甜甜圈所需的最小时间。

Back to Blog

相关文章

阅读更多 »

100 天 DSA 编码挑战的第 82 天

问题 在二维矩阵中寻找峰值元素 GeeksforGeeks 题目链接 https://www.geeksforgeeks.org/problems/find-the-peak-element-in-a-2d-matrix/1 难度...

第84天:100天DSA编码挑战

问题 GeeksforGeeks – 矩阵中的第 K 小元素 https://www.geeksforgeeks.org/problems/kth-element-in-matrix/1 难度:中等 | 正确率:61.42%

第78天:100天DSA编程挑战

接受新的挑战:每天解答 GeeksforGeeks POTD 并分享我的解法!💻🔥 目标:提升问题解决能力,升级编程水平,并学习……

第76天:100天DSA编码挑战

问题 Bus Conductor – GeeksforGeeks https://www.geeksforgeeks.org/problems/bus-conductor--170647/1 难度:Easy 正确率:75.3% 示例 示例 1 - 输入...