初莫M 发表于 2023-10-27 19:44:40

这道题怎么做啊

题目描述
为了提高大家的程序设计水平,谢老师建立了一个校内题库。题库中共有 n
道题,第 i
道题目的难易程度用 ti
表示,这 n
道题根据由易到难的顺序已排好。现在老师决定插入 m
道难度为 dj
的题到题库中,题库中的题仍然按由易到难的顺序排好。

输入描述
第一行包含两个用一个空格隔开的整数 n
和 m


第二行包含 n
个用一个空格隔开的正整数 ti
,表示题库中每道题的难度。

第三行包含 m
个用一个空格隔开的正整数 dj
,表示待插入的每道题的难度。

1≤ti≤32767
,1≤dj≤32767
,1≤n≤1000
,1≤m≤1000
。               

输出描述
一行若干用一个空格隔开的正整数,表示插入后题库的试题难度情况。

isdkz 发表于 2023-10-27 19:45:17

首先,我们可以将题库中的题目难度和待插入的题目难度合并成一个新的数组,并进行排序。然后,我们可以使用双指针的方法,从左到右遍历这个新数组,将题目难度按照由易到难的顺序输出。

具体实现步骤如下:

1. 读取输入的 n 和 m。
2. 读取题库中每道题的难度 ti,并将其存储在一个数组中。
3. 读取待插入的每道题的难度 dj,并将其存储在一个数组中。
4. 将题库中的题目难度数组和待插入的题目难度数组合并成一个新的数组,记为 mergedArray。
5. 对 mergedArray 进行排序,保持由易到难的顺序。
6. 使用双指针的方法,从左到右遍历 mergedArray,将题目难度按照由易到难的顺序输出。

下面是具体的代码实现:

n, m = map(int, input().split())
ti = list(map(int, input().split()))
dj = list(map(int, input().split()))

mergedArray = ti + dj
mergedArray.sort()

result = ' '.join(map(str, mergedArray))
print(result)


希望能够帮助到你!
页: [1]
查看完整版本: 这道题怎么做啊