टीएल;डीआर

  • समस्या: उत्पादन-स्तरीय दक्षता के साथ सीटीसीआई समस्या ९.६ में महारत हासिल करना।
  • दृष्टिकोण: सीटीसीआई समस्या ९.६: विभिन्न समय खिड़कियों के तहत श्रेणी के आधार पर टॉप-सेलिंग उत्पादों को ट्रैक करने वाला रैंकिंग सिस्टम डिजाइन करें।
  • जटिलता: इष्टतम समय और मेमोरी संतुलन।

यह लेख सीटीसीआई समस्या ९.६ का एक स्पष्ट और शुरुआती-अनुकूल विवरण प्रदान करता है। हम समस्या के कथन की जांच करते हैं, इष्टतम समाधान की तुलना करते हैं और जावा (जावा) कोड लिखते हैं।


१. वास्तविक जीवन की उपमा

सीटीसीआई समस्या ९.६ को वास्तविक जीवन में वस्तुओं को कुशलतापूर्वक व्यवस्थित करने की तरह सोचें। सही डेटा संरचना का चयन अनावश्यक पुनरावृत्तियों को समाप्त करता है।


२. स्पष्ट समस्या कथन

समस्या ९.६: सीटीसीआई समस्या ९.६: विभिन्न समय खिड़कियों के तहत श्रेणी के आधार पर टॉप-सेलिंग उत्पादों को ट्रैक करने वाला रैंकिंग सिस्टम डिजाइन करें।


३. इष्टतम दृष्टिकोण और कार्यान्वयन

public class CategorySalesRank {
    private final Map<String, Integer> productSales = new ConcurrentHashMap<>();

    public void recordSale(String productId, int quantity) {
        productSales.merge(productId, quantity, Integer::sum);
    }

    public List<Map.Entry<String, Integer>> getTopK(int k) {
        PriorityQueue<Map.Entry<String, Integer>> pq = new PriorityQueue<>(
            Map.Entry.comparingByValue()
        );
        for (Map.Entry<String, Integer> entry : productSales.entrySet()) {
            pq.offer(entry);
            if (pq.size() > k) pq.poll();
        }
        List<Map.Entry<String, Integer>> result = new ArrayList<>(pq);
        result.sort(Map.Entry.<String, Integer>comparingByValue().reversed());
        return result;
    }
}

४. समय और स्थान जटिलता (टाइम एंड स्पेस कॉम्प्लेक्सिटी)

मीट्रिक जटिलता विवरण
समय जटिलता ओ(एन) / ओ(लॉग एन) डेटा के माध्यम से इष्टतम पास
स्थान जटिलता ओ(१) / ओ(एन) मेमोरी सीमाएं बनी रहीं

५. सीमांत मामले (एज केसेस) और सारांश

कोडिंग इंटरव्यू में हमेशा सीमांत स्थितियों, शून्य (null) इनपुट और एरे आकार की सीमाओं की जांच करें।