정렬되지 않은 배열에서 k번째로 작은/가장 큰 요소를 찾는 방법은 무엇입니까?

블로그

이 도전은 CS의 고전적인 도전입니다. 따라서 충분한 시간을 투자하는 것이 좋습니다. 그러나 인기에도 불구하고 짧고 직관적인 설명으로 좋은 소스를 찾지 못했습니다. 여기서는 최대한 간결하고 명확하게 설명하고자 합니다.
가장 쉬운 솔루션:
배열을 정렬하고 k번째로 작은/가장 큰 요소를 선택하기만 하면 됩니다. 시간 복잡도는 O(n*log(n))입니다. 그러나 면접 중에는 좋은 답변이 아니며 면접관은 귀하에게 더 많은 것을 기대한다는 점을 명심하십시오.
이 솔루션의 문제는 낭비되는 작업이 많다는 것입니다. 배열을 정렬하면 모든 값이 올바른 위치에 놓입니다. 그러나 당신은 그들 모두에 관심이 없습니다. 당신은 그들 중 하나에만 관심이 있습니다. 따라서 이러한 불필요한 작업을 어떻게 피할 수 있는지가 문제입니다.



#알고리즘 #python #데이터 구조 #프로그래밍 #코딘






dmg 코인 가격 예측

미디엄닷컴

정렬되지 않은 배열에서 k번째로 작은/가장 큰 요소를 찾는 방법은 무엇입니까?

이 도전은 CS의 고전적인 도전입니다. 따라서 충분한 시간을 투자하는 것이 좋습니다. 그러나 인기에도 불구하고 짧고 직관적인 설명으로 좋은 소스를 찾지 못했습니다. 여기서는 최대한 간결하고 명확하게 설명하고자 합니다.