Python程式:在給定條件下查詢可完成的任務數量
假設我們有一系列任務和一系列人員。tasks[i] 表示執行第 i 個任務所需的強度,people[i] 表示第 i 個人擁有的強度。最後,我們必須找到如果一個人最多隻能執行一項任務,可以完成的任務數量。
因此,如果輸入類似於 tasks = [4, 3, 9, 15],people = [10, 5, 3, 2],則輸出將為 3,因為第一個人可以執行任務 9,第二個人可以執行任務 4,第三個人可以執行任務 3,而第四個人無法執行任何任務。
為了解決這個問題,我們將遵循以下步驟:
- 對任務列表 tasks 進行排序,對人員列表 people 進行排序
- ct := 0,ind := 0
- 對於範圍從 0 到 people 列表大小的 i:
- 對於範圍從 ind 到 tasks 列表大小的 j:
- 如果 people[i] >= tasks[j],則
- ct := ct + 1
- ind := ind + 1
- 跳出迴圈
- 否則,
- 跳出迴圈
- 如果 people[i] >= tasks[j],則
- 對於範圍從 ind 到 tasks 列表大小的 j:
- 返回 ct
讓我們看看下面的實現以更好地理解:
示例
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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP