给定一组整数,请先按升序排列,然后按降序排列。 在结果序列中,按如下顺序得到的是一个升序序列:先取顺数第1个,然后取倒数第1个,接着取顺数第2个,然后取倒数第2个,依次类推。 输入 第一行有一个正整数为n,表示数据的个数。 n个由空格分隔的整数。 输出 按峰型排序的结果 样例输入 Copy 10 1 2 3 4 5 6 7 8 9 10
时间: 2024-02-22 19:56:01 浏览: 97
给定N个不同的整数,要求对这N个整数按如下规则排序并输出
5星 · 资源好评率100%
以下是一个 Python 实现的解法:
```python
n = int(input())
nums = list(map(int, input().split()))
# 升序排序
nums.sort()
# 构造峰型序列
res = []
for i in range(n // 2):
res.append(nums[i])
res.append(nums[n - i - 1])
# 若 n 为奇数,则加上中间的数
if n % 2 != 0:
res.append(nums[n // 2])
# 降序排序
res.sort(reverse=True)
# 输出结果
print(' '.join(map(str, res)))
```
输入样例:
```
10
1 2 3 4 5 6 7 8 9 10
```
输出样例:
```
10 1 9 2 8 3 7 4 6 5
```
阅读全文