活动选择问题的 Python 程序


在本文中,我们将学习如何解决下面给出的问题陈述。

问题陈述给我们 n 个活动及其各自的开始和结束时间。我们需要选择最多数量的单人活动,假设他一次只从事一项活动。

变量符号

N - 活动总数

S - 包含所有活动开始时间的数组

F - 包含所有活动结束时间的数组

现在让我们观察下面实现中的解决方案 −

# 贪婪算法

例如

 实时演示

# maximum number of activities that can be performed by a single person
def Activities(s, f ):
   n = len(f)
   print ("The selected activities are:")
   # The first activity is always selected
   i = 0
   print (i,end=" ")
   # For rest of the activities
   for j in range(n):
      # if start time is greator than or equal to that of previous activity
         if s[j] >= f[i]:
            print (j,end=" ")
            i = j
# main
s = [1, 2, 0, 3, 2, 4]
f = [2, 5, 4, 6, 8, 8]
Activities(s, f)

输出

The selected activities are:
0 1

所有变量都在本地范围内声明,其引用如上图所示。

结论

在本文中,我们了解了如何编写活动选择问题的 Python 程序

更新于: 20-Dec-2019

917 次浏览

职业生涯

通过完成课程获得认证

开始学习
广告