























주어진 배열이 순열이면 1 그렇지 않으면 0을 반환
순열이라면, 1 + (N), 2 + (N-1), 3 + (N-2)이 모두 같은 값을 가질 것으로 가정
주어진 배열을 오름차순으로 정렬 후, 순차적으로 더한 값을 비교해가면 누락된 숫자가 있는 경우 해당 합에서 차이가 발생할 것이므로 O(n/2)로 해결 가능할 것으로 추측
function solution(A) {
const arr = A.sort( (a, b) => a - b )
const lastEl = arr[arr.length - 1];
const partOfSum = lastEl * (lastEl + 1) / arr.length
const condition = Math.floor(arr.length /2 );
for( let i = -1; ++i < condition; ) {
if(arr[i] + arr[arr.length - 1 -i] !== partOfSum)
return 0
}
return 1
}
Hero image from pixabay
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。