在Python中查找有多少个箱子可以放入仓库的程序
假设,我们有两个包含整数的数组。一个数组包含单位宽度箱子的高度,另一个数组包含仓库中房间的高度。房间编号为0…n,并且在数组godown的相应索引中提供了房间的高度。我们必须找出可以推入仓库的盒子数量。有几件事情必须记住,
- 盒子不能相互放置。
-
盒子的顺序可以更改。
箱子可以从任何一侧放进仓库,可以从左边或右边放置。如果一个盒子比房间的高度高,那么盒子和所有右侧的盒子都不能推入仓库。
因此,如果输入如下:boxes = [4, 5, 6],godown = [4, 5, 6, 7],则输出将是3。输入的所有三个箱子都可以放入仓库。
为了解决这个问题,我们将按照以下步骤进行 –
- 将列表中的箱子按降序排列
-
l:= 0
-
r:= godown的大小-1
-
bi:= 0
-
返回:= 0
-
当bi < boxes的大小且l <= r时,执行以下操作
- 如果godown [l]> godown [r],则
- 如果boxes [bi] <= godown [l],那么
-
返回:=返回+ 1
-
l:= l + 1
-
否则,
-
如果boxes [bi] <= godown [r],那么
- 返回值:=返回值+ 1
-
r:= r-1
-
bi:= bi + 1
- 如果godown [l]> godown [r],则
-
返回返回值
更多Python相关文章,请阅读:Python 教程
示例(Python)
让我们查看以下实现以更好地理解 −