組合せBOJ 11728アレイ
7310 ワード
時間1.5秒、メモリ256 MB
input : N(アレイAの大きさ)M(アレイBの大きさ)(1<=N,M<=10000) .案Aの内容 配列Bの内容(絶対値が10^9以下の整数) output :の2つの配列を結合し、ソート結果を出力します. 実は2つのリストをまとめたり、追加して並べ替えたりすればいいのです
問題では、ソートをマージするmergeメソッドでソートしたいようです.これが時間の複雑さです...
上との差は多くない
繰り返しが終了すると、2つの配列のうちの1つでもidxはlen(配列)になります.
pypy 3でコミットするのが正しいようです
遅すぎます...
input :
問題では、ソートをマージするmergeメソッドでソートしたいようです.これが時間の複雑さです...
上との差は多くない
繰り返しが終了すると、2つの配列のうちの1つでもidxはlen(配列)になります.
while A_idx < len(A) and B_idx < len(B):
このとき、len(配列)が形成されていない配列をスムーズにし、正解リストに貼り付けます.if A_idx == len(A):
answer = answer + B[B_idx:]
else:
answer += A[A_idx:]
正しいコード:
N, M = map(int, input().split())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
A_idx = 0
B_idx = 0
answer = []
while A_idx < len(A) and B_idx < len(B):
if A[A_idx] < B[B_idx]:
answer.append(A[A_idx])
A_idx += 1
elif A[A_idx] > B[B_idx]:
answer.append(B[B_idx])
B_idx += 1
else:
answer.append(A[A_idx])
answer.append(A[A_idx])
A_idx += 1
B_idx += 1
if A_idx == len(A):
answer = answer + B[B_idx:]
else:
answer += A[A_idx:]
for number in answer:
print(number, end=" ")
pypy 3でコミットするのが正しいようです
遅すぎます...
Reference
この問題について(組合せBOJ 11728アレイ), 我々は、より多くの情報をここで見つけました https://velog.io/@jsin2475/BOJ-11728-배열-합치기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol