在 Python 中查詢是否可以進行整齊的杯子和架子排列
假設我們在陣列 p 中有三種不同型別的杯子,在陣列 q 中有碟子,以及 m 個架子,我們需要檢查是否可以進行杯子和架子的整齊排列。
我們可以說,如果杯子和碟子的排列遵循以下條件,則該排列是整齊的:1. 任何架子都不能同時容納杯子和碟子。2. 一個架子最多可以容納 5 個杯子。3. 一個架子最多可以容納 10 個碟子。
因此,如果輸入類似於 p = [4, 3, 7] q = [5, 9, 10] m = 11,則輸出將為 True,因為杯子的總數 = 14,需要 3 個架子,碟子的總數 = 24,需要 3 個架子。因此,所需的架子總數 = 3 + 3 = 6,小於給定的架子數量 m。
為了解決這個問題,我們將遵循以下步驟:
sum_p := 0,sum_q := 0
對於 i 從 0 到 p 的大小,執行
sum_p := sum_p + p[i]
對於 i 從 0 到 q 的大小,執行
sum_q := sum_q + q[i]
m_p :=(sum_p + 4) / 5
m_q :=(sum_q + 9) / 10
如果 m_p + m_q <= m,則
返回 True
否則,
返回 False
示例
讓我們看看以下實現以獲得更好的理解:
def is_valid(p, q, m): sum_p = 0 sum_q = 0 for i in range(0, len(p)): sum_p += p[i] for i in range(0,len(q)): sum_q += q[i] m_p = (sum_p + 5 - 1) / 5 m_q = (sum_q + 10 - 1) / 10 if(m_p + m_q <= m): return True else: return False p = [4, 3, 7] q = [5, 9, 10] m = 11 print(is_valid(p ,q ,m))
輸入
[4, 3, 7], [5, 9, 10], 11
輸出
True
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP