万卷网 > 题目详情
题型:单选题

给定有 n 个任务,每个任务有截止时间和利润,每个任务耗时 1 个时间单位、必须在截止时间前完成,且每个时间槽最多做 1 个任务。为了在规定时间内获得最大利润,可以采用贪心策略,即按利润从高到低排序,尽量安排,则横线处应填写( )。

class Task:
    def __init__(self, deadline, profit):
        self.deadline = deadline
        self.profit = profit
def sort_by_profit(tasks):
    tasks.sort(key=lambda x: x.profit, reverse=True)
def max_profit(tasks):
    sort_by_profit(tasks)
    max_time = 0
    for task in tasks:
        if task.deadline > max_time:
            max_time = task.deadline
    slot = [False] * (max_time + 1)
    total_profit = 0
    for task in tasks:
        t = task.deadline
        while t >= 1:
            if not slot[t]:
                # 填空处完整代码
                slot[t] = True
                total_profit += task.profit
                break
            t -= 1
    return total_profit
A.

slot [t] = True total_profit += task .profit break

B.

slot [t] = True total_profit += task .profit

C.

slot[t] = False total_profit += task .profit break

D.

slot [t] = True total_profit -= task .profit

更新时间:2026-07-17 19:54:37 |
【知识点】 CCF—GESP Python五级

相似题推荐

单选题

唯一分解定理描述的内容是()。

A.

任何正整数都可以表示为两个素数的和。

B.

任何大于1的合数都可以唯一分解为有限个质数的乘积。

C.

两个正整数的最大公约数总是等于它们的最小公倍数除以它们的乘积。

D.

所有素数都是奇数。

2026-07-18
判断题

二分查找仅适用于有序数据。若输入数据无序,当仅进行一次查找时,为了使用二分而排序通常不划算。()

A.正确 B.错误
2026-07-18
判断题

使用贪心算法解决问题时,通过对每一步求局部最优解,最终一定能找到全局最优解。()

A.正确 B.错误
2026-07-18
判断题

以下 fib 函数计算第 n 项斐波那契数( fib(0)=0 , fib(1)=1 ),其时间复杂度为 O(n)。()

def fib(n) :
    if n <= 1 :
        return n
    return fib(n - 1) + fib(n - 2)
A.正确 B.错误
2026-07-18
判断题

通过在数组的第一个、最中间和最后一个这3个数据中选择中间值作为枢轴(比较基准),快速排序算法可降低落入最坏情况的概率。()

A.正确 B.错误
2026-07-18
公众号
客服 反馈
顶部