Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมค้นหาจำนวนงานสามารถทำได้ตามเงื่อนไขที่กำหนดใน Python


สมมติว่าเรามีรายการงานและรายชื่อบุคคลอื่นๆ งาน [i] กำหนดจำนวนความแข็งแกร่งที่จำเป็นในการปฏิบัติงาน ith และผู้คน[i] กำหนดจำนวนความแข็งแกร่งที่บุคคลมี สุดท้ายนี้ เราต้องค้นหาจำนวนงานที่จะสำเร็จได้ถ้าคนๆ หนึ่งสามารถทำงานได้มากสุดหนึ่งงาน

ดังนั้นหากอินพุตเป็นเหมือนงาน =[4, 3, 9, 15] คน =[10, 5, 3, 2] ผลลัพธ์จะเป็น 3 เนื่องจากคนแรกสามารถทำงาน 9 คนที่สองทำได้ ดำเนินการภารกิจที่ 4 บุคคลที่สามสามารถทำงานที่ 3 และบุคคลที่สี่ไม่สามารถทำงานใด ๆ ได้

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • จัดเรียงรายการงาน จัดเรียงรายการบุคคล
  • ct:=0, ind:=0
  • สำหรับผมอยู่ในช่วง 0 ถึงขนาดคน ทำ
    • สำหรับ j ที่อยู่ในขอบเขตตามขนาดของงาน ให้ทำ
      • ถ้า people[i]>=งาน[j] แล้ว
        • ct :=ct + 1
        • ind :=ind + 1
        • ออกมาจากวงจร
      • มิฉะนั้น
        • ออกมาจากวงจร
  • คืนสินค้า

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

class Solution:
   def solve(self, tasks, people): tasks.sort()
      people.sort()
      ct=0
      ind=0
      for i in range(len(people)):
         for j in range(ind,len(tasks)):
            if people[i]>=tasks[j]:
               ct+=1
               ind+=1
               break
            else:
               break
         return ct
ob = Solution()
tasks = [4, 3, 9, 15]
people = [10, 5, 3, 2] print(ob.solve(tasks, people))

อินพุต

[4, 3, 9, 15], [10, 5, 3, 2]

ผลลัพธ์

3