1
- 당신은 한 번만 발생하는 하나 개의 요소를 제외하고 두 번 반복 모든 요소와 정수의 배열을 부여 인터뷰에서했다 최근 아래에, 당신은을 찾을 필요 O (nlogn) 시간 복잡성을 지닌 고유 한 요소. 배열이 {2,47,2,36,3,47,36}이라면 출력은 3이어야합니다. 나는 우리가 다음 요소를 검사 할 수있는 후에 병합 정렬 (nlogn)을 수행 할 수 있다고 말했지만 그는 O (nlogn) + O (n)을 취할 것이라고 말했다. 또한 HashMap을 사용하여 요소 수를 유지할 수 있다고했지만 다시 결과를 얻으려면 해시 맵을 반복해야하므로 다시 아니라고 말했습니다. 몇 가지 연구를 한 후에 xor 연산을 사용하면 O (n)로 결과를 얻을 수 있다는 것을 알게되었습니다. O (nlogn) 시간에 답변을 줄 수있는 정렬 이외의 더 좋은 해결책이 있습니까?
- 스마트 폰을 사용할 때마다 한 번에 많은 앱을 열 수 있습니다. 현재 모든 앱이 열려 있는지 살펴보면 최근 열어 본 앱이 맨 앞에 표시되며 목록의 어느 곳에서나 앱을 삭제하거나 닫을 수있는 목록이 표시됩니다. 매우 효율적인 방법으로 모든 작업을 수행 할 수있는 Java에서 사용할 수있는 콜렉션이 있습니다. 우리가 LinkedList 또는 LinkedHashMap을 사용할 수 있다고 말했지만 그는 확신하지 못했습니다. 사용할 수있는 최고의 컬렉션은 무엇입니까? 면접관이 큰-O 표기법을 사용하고
O(n log n)
솔루션을 예상하는 경우