程序可以根据Python中的间隔时间来查找我们可以选修的最大课程数?
假设我们有一个以[start,end]形式的间隔列表,它表示课程的开始和结束时间。假设我们一次只能选一门课程,并且课程的开始时间必须晚于最后一门课程的结束时间,我们必须找到可以选修的最大课程数。
因此,如果输入像次=[[3,6],[6,9],[7,8],[9,11]],那么输出将是3,因为我们可以学习课程[[3,6],[7、8],[9、11]]
为了解决这个问题,我们将按照以下步骤操作:
根据结束时间排序时间
计数器:=0,结束:=-1
对于我在0到时间大小范围内的
计数器:=计数器+1
结束:=次[i,1]
如果times[i,0]>end不为零,则
返回柜台
让我们看下面的实现以更好地理解:
示例
class Solution:
def solve(self, times):
times.sort(key=lambda x: x[1])
counter = 0
end = -1
for i in range(len(times)):
if times[i][0] > end:
counter += 1
end = times[i][1]
return counter
ob = Solution()times = [
[3, 6],
[6, 9],
[7, 8],
[9, 11]
]
print(ob.solve(times))输入值
[ [3, 6],[6, 9],[7, 8],[9, 11]]
输出结果
3
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短