在Python中找到大小为k的子列表的最大值的程序
假设我们有一个列表num和另一个值k,我们必须找到大小为k的每个子列表的最大值。
因此,如果输入如下nums = [12、7、3、9、10、9] k = 3,则输出将为[12、9、10、10]
要解决此问题,我们将遵循以下步骤-
- 如果k> nums的大小,那么
- 返回空列表
- res:=新列表
-
temp:= nums [0]
-
temp:= npoint:=0
-
for i in range 0 to k − 1, do
- 如果nums [i]> temp,则
- temp:= nums [i]
-
point:= i
- 如果nums [i]> temp,则
-
将temp插入res的末尾
-
for i in range k to size of nums, do
- 如果nums [i]
- temp:= nums [point]
- 否则当nums [i] = k时,那么
- point:=i−k + 1
-
for j in range i-k + 1 to i, do
-
如果nums [j]> nums [point],则
- point:= j
- temp:= nums [point]
-
否则,
- temp:= nums [i]
-
point:= i
-
将temp插入res的末尾
- 如果nums [i]
-
返回res
让我们看一下以下实现,以获得更好的了解-
更多Python相关文章,请阅读:Python 教程