면접 문제 - 알고리즘 필기 문제 (휴대용)
771 단어 면접 문제
var arr = [[1,2,3], [3,4,5], [6,7,8,9,[11,12,[12,13, [14]]]], 10]
프로그램 을 만들어 서 배열 을 평면 화하 고 중복 되 는 부분 데 이 터 를 제거 합 니 다. 마지막 으로 오름차 와 중복 되 지 않 는 배열 을 얻 을 수 있 습 니 다.
해석: 먼저 이 문 제 를 보고 배열 의 reduce, sort, 그리고 Set 제거 와 재 귀 논 리 를 다음 과 같이 생각 했 습 니 다.
var arr = [[1,2,3], [3,4,5], [6,7,8,9,[11,12,[12,13, [14]]]], 10]
function getArr (arr1) {
function getInitArr (col) {
return col.reduce((a,b) => {
if (b instanceof Array) {
a = a.concat(getInitArr(b))
} else {
a.push(b)
}
return a
}, [])
}
return [...new Set(getInitArr(arr1))].sort((a,b) => a -b)
}
console.log(getArr(arr))
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 프로그래머 면접에서의 다중 스레드 문제 요약wait ()/notify ()/notify All () 의 모든 방법을 호출할 때, 현재 라인이 이 대상의 자물쇠를 얻지 못하면, Illegal MonitorState Exception의 이상을 던집니다. Thre...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.