📅  最后修改于: 2023-12-03 14:50:48.675000             🧑  作者: Mango
这是ISRO CS 2020考试的第62个问题。 ISRO CS是印度空间研究组织面试的计算机科学考试。该考试旨在检测候选人对计算机科学的理解和知识。第62个问题是有关数组的。
对于一个给定的数组,编写一个程序,将每个元素替换为该元素右侧的最大元素,并在最后一个元素中放置-1。
例如,如果数组为[17,18,5,4,6,1],则输出为[18,-1,6,6,1,-1]。
首先,我们需要迭代整个数组并找到当前元素右侧的最大元素。然后,我们将该值存储在输出数组中,并将其分配给当前元素。如果找不到右侧的最大值,则将-1分配给当前元素。最后,我们将-1分配给输出数组的最后一个元素。
以下是用python实现的程序:
def replace_elements(arr):
n = len(arr)
output = [0]*n
output[n-1] = -1
max_right = arr[n-1]
for i in range(n-2, -1, -1):
output[i] = max_right
if arr[i] > max_right:
max_right = arr[i]
return output
arr = [17,18,5,4,6,1]
output = replace_elements(arr)
print(output)
在该程序中,我们首先初始化一个长度为n的输出数组,并将输出数组的最后一个元素分配为-1。然后,我们从输入数组的最后一个元素开始迭代,并找到右侧最大的元素,并将其存储在输出数组中。最后,我们返回输出数组。
在本文中,我们为ISRO CS 2020考试中的问题62提供了解决方案。我们使用python编写了一个程序,该程序会将给定数组中每个元素替换为它右侧的最大元素,并在最后一个位置插入-1。在编写解决方案时,我们介绍了如何使用迭代和条件语句,以及如何初始化和使用数组。