程序可以根据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

    以上是 程序可以根据Python中的间隔时间来查找我们可以选修的最大课程数? 的全部内容, 来源链接: utcz.com/z/316026.html

    回到顶部