[アルゴリズム]3.連結配列
913 ワード
📌に答える
昇順配列の配列が2つある場合は、プログラムを作成し、2つの配列を昇順に結合して出力します.
📌I/O例
1 3 5
2 3 6 7 9
sort()関数ではなく、デュアルポインタアルゴリズムを使用します.
2つのポインタを操作することによって所望の結果を得るアルゴリズム.
始点と終点を最初の要素のインデックスに指定します.
現在の部分とMが等しい場合は、ポインタのインデックスを追加します.
📌に答える
🎨最初の解
//두 배열 합치기
function solution(arr1 , arr2){
let answer = [];
n = arr1.length;
m = arr2.length;
let p1=p2=0; //포인터 정의
while(p1 < n && p2 < m){
console.log(arr1[p1])
console.log(arr2[p2])
if(arr1[p1] < arr2[p2]) answer.push(arr1[p1++])
else answer.push(arr2[p2++])
}
while(p1<n) answer.push(arr1[p1++]);
while(p2<m) answer.push(arr2[p2++]);
return answer;
}
let a=[1, 3, 5];
let b=[2, 3, 6, 7, 9];
console.log(solution(a, b));
Reference
この問題について([アルゴリズム]3.連結配列), 我々は、より多くの情報をここで見つけました https://velog.io/@mlik14/알고리즘-3.-배열합치기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol