ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีแก้ปัญหาตามที่ระบุด้านล่าง
คำชี้แจงปัญหา − เราได้รับ 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 สำหรับปัญหาการเลือกกิจกรรม