📌  相关文章
📜  国际空间研究组织 | ISRO CS 2011 |问题 39(1)

📅  最后修改于: 2023-12-03 15:37:14.734000             🧑  作者: Mango

国际空间研究组织 | ISRO CS 2011 |问题 39

这是一道程序设计题目,要求求出给定数组中所有子数组的最大值。

题目描述

给定一个具有$n$个元素的实数数组$A$,你需要输出所有子数组的最大值。

输入格式

第一行是一个正整数$T$,表示接下来有$T$组输入数据。

每组数据的第一行是一个正整数$n$,表示该组数据的数组长度。

接下来一行有$n$个整数,第$i$个整数表示数组的第$i$个元素$A_i$。

输出格式

对于每组数据,按照输入的顺序输出每个子数组的最大值。

示例输入
2
5
2 -3 5 -1 2
5
-1 2 -1 2 -1
示例输出
2
5
5
5
5
2
2
2
思路分析

解题思路是采用枚举法,从每个元素出发寻找可行解。时间复杂度为$O(n^2)$。

代码实现
import sys

T = int(sys.stdin.readline())

for i in range(T):
    n = int(sys.stdin.readline())
    arr = list(map(int,sys.stdin.readline().split()))

    for j in range(n):
        max_val = float('-inf')
        for k in range(j, n):
            max_val = max(max_val, arr[k])
            print(max_val)

返回markdown格式:

# 国际空间研究组织 | ISRO CS 2011 |问题 39

这是一道程序设计题目,要求求出给定数组中所有子数组的最大值。

## 题目描述

给定一个具有$n$个元素的实数数组$A$,你需要输出所有子数组的最大值。

## 输入格式

第一行是一个正整数$T$,表示接下来有$T$组输入数据。

每组数据的第一行是一个正整数$n$,表示该组数据的数组长度。

接下来一行有$n$个整数,第$i$个整数表示数组的第$i$个元素$A_i$。

## 输出格式

对于每组数据,按照输入的顺序输出每个子数组的最大值。

## 示例输入

2 5 2 -3 5 -1 2 5 -1 2 -1 2 -1


## 示例输出

2 5 5 5 5 2 2 2


## 思路分析

解题思路是采用枚举法,从每个元素出发寻找可行解。时间复杂度为O(n^2)。

## 代码实现

```python
import sys

T = int(sys.stdin.readline())

for i in range(T):
    n = int(sys.stdin.readline())
    arr = list(map(int,sys.stdin.readline().split()))

    for j in range(n):
        max_val = float('-inf')
        for k in range(j, n):
            max_val = max(max_val, arr[k])
            print(max_val)