홈>
면접에서 반복적 인 요소를 찾아 달라는 요청을 받았습니다. for 루프를 사용하는 것을 발견했지만 인터뷰 담당자는 for for 루프를 사용하여 성능에 영향을 줄 수있는 더 나은 방법을 요청했습니다. Java 스크립트를 탐색하는 초보자입니다. 배열에서 반복 요소를 찾는 다른 방법을 찾는 데 도움이 될 수 있습니까? 아래는 답변에 대한 코드입니다.
var a = [1,2,3,3,4,4,5,5,6,7,8,8,9,10,11,12];
var repeatElements = [];
for (var i=0;i<a.length;i++){
for(var j=1+i; j<a.length;j++){
if (a[i]===a[j]){
repeatElements.push(a[i]);
}
}
}
console.log(repeatElements);
이 스택 오버플로 질문 자바 스크립트 배열에서 모든 고유 한 값 가져 오기 (중복 제거) 반복 검색에 필터를 사용하는 것이 더 효율적인 방법입니까?
- 답변 # 1
- 답변 # 2
귀하의 솔루션에는
O(n^2)
가 있습니다 복잡성. 면접관이 당신이O(n)
를 제공하길 기대했다고 생각합니다 솔루션, 반복 항목의 사전 사용. 다음과 같이 보입니다 :const a = [1,2,3,3,4,4,5,5,6,7,8,8,9,10,11,12]; function getRepetitives(arr) { const itemsDuplicates = {} arr.forEach(item => { itemsDuplicates[item] = itemsDuplicates.hasOwnProperty(item) ? itemsDuplicates[item] + 1 : 1 }) const repetitives = Object.entries(itemsDuplicates).filter(([ k ,v ]) => v > 1).map(([k]) => k) return repetitives } console.log(getRepetitives(a))
관련 자료
- Javascript의 2D 배열에서 각 하위 배열의 요소 추가
- html - eventListener에 대한 JavaScript의 배열 요소에 액세스
- Javascript Ajax 배열 값만 표시하는 방법
- JavaScript - 자바 스크립트 - 중복이있는 경우 다른 인덱스를 사용하여 배열을 다시 정렬합니다
- c - memcpy ()가 동일한 배열에 있지만 오프셋이있는 배열의 요소 복사에 실패하는 이유
- c - 포인터를 사용하여 참조되는 배열에서 두 개의 float 요소를 곱합니다
- JavaScript의 배열에서 삭제가 작동하지 않는 이유는 무엇입니까?
- google apps script - forEach는 1d 배열 자바 스크립트의 마지막 항목 만 게시
- 자바 스크립트에서 객체 속성으로 배열 정렬
- javascript - React에서 양식 요소 배열 반복
- Java - 자바 - foreach 및 람다를 사용하여 arraylist의 요소를 배열에 할당
- python - 2D 배열의 각 행에 고유 한 요소 찾기
- javascript - 일부 요소를 건너 뛰는이 정렬 배열의 문제점은 무엇입니까?
- javascript - HTML 요소를 배열로 푸시하여 나중에 동적으로 생성되는 div에 추가합니다
- Javascript로 HTML 배열 가져 오기
- 배열 값을 객체 배열의 값과 일치
- ruby - 배열을 다른 배열로 푸시하면 두 번째 배열의 모든 요소를 덮어 씁니다
- 2D 배열을 반복하여 Kotlin의 모든 요소 변경
- reactjs - 특정 키를 설정하여 자바 스크립트에서 객체 배열 작업
- Javascript에서 배열 대상으로 변수 지정 (mutability?)
관련 질문
- javascript : VueJs-다중 선택 확인란과 값이있는 텍스트 필드가있는 옵션 배열
- javascript : 객체의 배열에서 배열의 모든 객체 인덱스 가져 오기
- JavaScript는 json의 키 및 값을 반복합니까? [복제]
- javascript : AJAX를 통해 Django Rest Framework에서 반환 된 배열의 항목에 액세스 할 때 '정의되지 않음'받기
- JavaScript의 이상한 배열 동작
- javascript : HTML 태그 문자열을 배열로 변환하고 싶습니까? 하지만 나는 변환하려고
- javascript : 2D 배열 할당 자바 스크립트
- JavaScript의 비동기 함수에서 반환 할 때 배열을 반복 할 수 없습니다.
- javascript : onclick html 버튼없이 어떻게 기능을 실행합니까?
- javascript : 배열에 개체 저장
선형 시간에이를 수행하는 좋은 방법은 빈도 표를 사용하는 것입니다 :
이 방법은 배열을 한 번만 반복합니다.