在python中找出给定长度的最大子数组的程序
假设我们有一个包含各种整数值和给定长度 k 的数组。我们必须从给定长度的数组中找出最大的子数组。如果 subarray1[i] ≠ subarry2[i] 并且 subarray1[i] > subarry2[i],则称一个子数组大于另一个子数组。
因此,如果输入类似于 nums = [5, 3, 7, 9], k = 2,那么输出将是 [7, 9]。
为了解决这个问题,我们将按照以下步骤操作 -
start := nums 的大小 - k
max_element := nums[开始]
max_index := 开始
当开始 >= 0 时,做
max_element := nums[开始]
max_index := 开始
如果 nums[start] > max_element 非零,则
返回 nums[从索引 max_index 到 max_index + k]
返回 nums[从索引 max_index 到 max_index + k]
让我们看看以下实现以获得更好的理解 -
示例
def solve(nums, k):start = len(nums) - k
max_element = nums[start]
max_index = start
while start >= 0:
if nums[start] > max_element:
max_element = nums[start]
max_index = start
start -= 1
return nums[max_index:max_index + k]
print(solve([5, 3, 7, 9], 2))
输入
[5, 3, 7, 9], 2输出结果
[7, 9]
以上是 在python中找出给定长度的最大子数组的程序 的全部内容, 来源链接: utcz.com/z/335478.html