查找杯子和架子的整齐排列是否可以用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
对于0到p大小范围内的i,执行
sum_p:=sum_p+p[i]
对于0到q大小的i,执行
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