टीएल;डीआर

  • समस्या: सीटीसीआई समस्या १७.१४ का तकनीकी विवरण।
  • दृष्टिकोण: सीटीसीआई problem १७.१४: find the smallest K numbers in an array using QuickSelect in O(N) average time.
  • जटिलता: इष्टतम समय और मेमोरी संतुलन।

यह लेख सीटीसीआई समस्या १७.१४ का एक स्पष्ट विवरण प्रदान करता है।

१. संदर्भ और समस्या कथन

सीटीसीआई problem १७.१४: find the smallest K numbers in an array using QuickSelect in O(N) average time.

२. कोड और कार्यान्वयन

public static int[] smallestK(int[] array, int k) {
    if (k <= 0 || k > array.length) return new int[0];
    PriorityQueue<Integer> maxHeap = new PriorityQueue<>(Collections.reverseOrder());
    for (int num : array) {
        maxHeap.offer(num);
        if (maxHeap.size() > k) maxHeap.poll();
    }
    return maxHeap.stream().mapToInt(Integer::intValue).toArray();
}

३. सारांश और एज केसेस

हमेशा सीमांत स्थितियों और इनपुट की जांच करें।