4.2つのリストをマージ


作成日:2022年1月11日午後4:58

インプリメンテーションコード

# 두 리스트 합치기
import sys
sys.stdin = open("input.txt", "rt")

n = int(input())
firstList = list(map(int, input().split()))
m = int(input())
secondList = list(map(int, input().split()))

result = firstList + secondList
result.sort()

for x in result:
    print(x, end=" ")

模範解答

import sys
sys.stdin=open("input.txt", "r")
n=int(input())
a=list(map(int, input().split()))
m=int(input())
b=list(map(int, input().split()))
p1=p2=0
c=[]
while p1<n and p2<m:
    if a[p1]<b[p2]:
        c.append(a[p1])
        p1+=1
    else:
        c.append(b[p2])
        p2+=1
if p1<n:
    c=c+a[p1:]
if p2<m:
    c=c+b[p2:]
for x in c:
    print(x, end=' ')

差異

  • 私が実装したコードでは、Python構文を使用して2つのリストを追加およびソートしていますが、答えでは、2つの変数(インデックスを表す)を使用して各グリッドのサイズを比較し、結果リストに1つのプロジェクトを追加する方法が使用されています.