이 코드는 다른 요소를 삽입 한 후 배열을 정렬하고 정렬 된 배열에 삽입 된 요소의 인덱스를 반환합니다 (첫 번째 위치 또는 가능한 가장 낮은 인덱스를 반환해야 함).선택 정렬 후 정렬 된 배열 내부의 번호 위치를 찾는 코드 정렬이 안정적이지 않습니까?
CODE :
function getIndexToIns(arr, num) {
// Find my place in this sorted array.
var sortedarr = sort(combinelists(arr, num).sort());
var pos = [];
for (i = 0; i < sortedarr.length; i++) {
if (sortedarr[i] == num) {
pos.push(i);
}
}
return pos[0];
}
function combinelists(arr1, arr2) {
var newarr = [];
newarr.push(arr2);
for (i = 0; i < arr1.length; i++) {
newarr.push(arr1[i]);
}
return newarr;
}
function sort(arr) {
if (arr.length < 2) {
return arr;
} else {
var l = arr.length/2;
var leftarr = arr.slice(0, l);
var rightarr = arr.slice(l);
return combine(sort(leftarr), sort(rightarr));
}
}
function combine(array, another_array) {
var result = [];
while (array.length && another_array.length) {
if (array[0].age <= another_array[0].age) {
result.push(array.shift());
} else {
result.push(another_array.shift());
}
}
while (array.length)
result.push(array.shift());
while (another_array.length)
result.push(another_array.shift());
return result;
}
console.log(getIndexToIns([2, 20, 10], 19));
console.log(getIndexToIns([2, 5, 10], 15));
그러나이하지 않는 것이 모든 입력을 위해 일할 수 :
가 깨진 무엇It works for the following tests:
[10, 20, 30, 40, 50], 30
[40, 60], 50
[2, 20, 10], 19
But it doesn't work for these:
[2, 5, 10], 15
[5, 3, 20, 3], 5
[3, 10, 5], 3
[10, 20, 30, 40, 50], 35
?
실제로 질문이 있으십니까? –
[코드 검토 스택 교환 사이트] (https://codereview.stackexchange.com/) –
예수님, 예, 질문 있습니다 - 왜 다른 사람들이 아닌 다른 사람들을 위해 일하고 있습니까? Btw, "모든 테스트를 통과하지 못하면 코드 검토에서 검토 할 준비가되지 않았습니다." 그럼, 참으로 .. –