IF-2つの配列を結合する
4022 ワード
質問する
昇順に並ぶ2つの配列のプログラム
記入してください.
例
Input1Input2Output[1,3,5][2,3,6,7,9][1,2,3,3,5,6,7,9]
回答とレビュー単純に2つの配列を合わせた後、 そこで,今回の問題は二重ポインタアルゴリズムにより解いた.2つのポインタがあり、各ポインタは1つの配列の要素を指します. の昇順でソートする必要があるため、2つのポインタのより小さいポインタが指す値を新しい配列に挿入し、ポインタの位置を右に1つ移動します.この操作を繰り返します. の両方のポインタが所与の配列の範囲を超えている場合、ループは停止される. 草自体は簡単ですが、紙に直接描く動作が遅く、時間を無駄にしています. コード#コード#
昇順に並ぶ2つの配列のプログラム
記入してください.
例
Input1Input2Output[1,3,5][2,3,6,7,9][1,2,3,3,5,6,7,9]
回答とレビュー
sort
リットル順に並べ替えると、草自体は簡単ですが、並べ替えられた配列を並べ替える必要があるため、効率は高くありません.const solution = (array1, array2) => {
let lIndex = 0;
let rIndex = 0;
const result = [];
while(true){
let lPointer = array1[lIndex];
let rPointer = array2[rIndex];
if(!lPointer && !rPointer) break;
if(lPointer <= rPointer || !rPointer) {
result.push(lPointer);
lIndex++;
}
if(rPointer <= lPointer || !lPointer) {
result.push(rPointer);
rIndex++;
}
}
return result;
}
Reference
この問題について(IF-2つの配列を結合する), 我々は、より多くの情報をここで見つけました https://velog.io/@goody/IF-두-배열-합치기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol