टीएल;डीआर
- समस्या: उत्पादन-स्तरीय दक्षता के साथ सीटीसीआई समस्या ९.४ में महारत हासिल करना।
- दृष्टिकोण: सीटीसीआई समस्या ९.४: ब्लूम फिल्टर और एक्सटर्नल हैश पार्टीशनिंग का उपयोग करके सीमित रैम में डुप्लिकेट यूआरएल की पहचान करें।
- जटिलता: इष्टतम समय और मेमोरी संतुलन।
यह लेख सीटीसीआई समस्या ९.४ का एक स्पष्ट और शुरुआती-अनुकूल विवरण प्रदान करता है। हम समस्या के कथन की जांच करते हैं, इष्टतम समाधान की तुलना करते हैं और जावा (जावा) कोड लिखते हैं।
१. वास्तविक जीवन की उपमा
सीटीसीआई समस्या ९.४ को वास्तविक जीवन में वस्तुओं को कुशलतापूर्वक व्यवस्थित करने की तरह सोचें। सही डेटा संरचना का चयन अनावश्यक पुनरावृत्तियों को समाप्त करता है।
२. स्पष्ट समस्या कथन
समस्या ९.४: सीटीसीआई समस्या ९.४: ब्लूम फिल्टर और एक्सटर्नल हैश पार्टीशनिंग का उपयोग करके सीमित रैम में डुप्लिकेट यूआरएल की पहचान करें।
३. इष्टतम दृष्टिकोण और कार्यान्वयन
public class SimpleBloomFilter {
private final BitSet bitSet;
private final int size;
public SimpleBloomFilter(int size) {
this.size = size;
this.bitSet = new BitSet(size);
}
public void add(String url) {
bitSet.set(Math.abs(url.hashCode() % size));
bitSet.set(Math.abs((url.hashCode() * 31) % size));
}
public boolean mightContain(String url) {
return bitSet.get(Math.abs(url.hashCode() % size))
&& bitSet.get(Math.abs((url.hashCode() * 31) % size));
}
}
४. समय और स्थान जटिलता (टाइम एंड स्पेस कॉम्प्लेक्सिटी)
| मीट्रिक | जटिलता | विवरण |
|---|---|---|
| समय जटिलता | ओ(एन) / ओ(लॉग एन) | डेटा के माध्यम से इष्टतम पास |
| स्थान जटिलता | ओ(१) / ओ(एन) | मेमोरी सीमाएं बनी रहीं |
५. सीमांत मामले (एज केसेस) और सारांश
कोडिंग इंटरव्यू में हमेशा सीमांत स्थितियों, शून्य (null) इनपुट और एरे आकार की सीमाओं की जांच करें।
