サイズの異なる n 個の並べ替えられた配列があります。K i を与えるには、最初の k 個の最小数を見つける必要があります。
int a[] = {10,20,30,40};
int b[]= {20,30,40};
int c[] ={-10,0};
k = 1 の場合、出力は配列 = {-10}、k=2 の場合、op= {-10,0} k = 4 {-10,0,10,20,20} になります。
私が考えたアイデア:
1.最小ヒープを維持しますが、残りのすべての配列のすべての要素をスキャンする必要がありますか?
2.サイズKのop配列を維持し、配列「op」で最大値より大きい要素に遭遇しない限り、すべての配列のすべての要素をスキャンします
コラムから考え始める方法はありますか?
制約: すべての配列をマージして最初の k を見つけることは、配列のサイズが巨大になる可能性があり、1 つの配列に数百万の整数が含まれる場合があるため、適切ではありません。