टीएल;डीआर
- समस्या: उत्पादन-स्तरीय दक्षता के साथ सीटीसीआई समस्या १०.४ में महारत हासिल करना।
- दृष्टिकोण: सीटीसीआई समस्या १०.४: साइज मेथड के बिना डेटा स्ट्रक्चर लिस्ती में एक्सपोनेंशियल बाउंडिंग तकनीक से तत्व खोजें।
- जटिलता: इष्टतम समय और मेमोरी संतुलन।
यह लेख सीटीसीआई समस्या १०.४ का एक स्पष्ट और शुरुआती-अनुकूल विवरण प्रदान करता है। हम समस्या के कथन की जांच करते हैं, इष्टतम समाधान की तुलना करते हैं और जावा (जावा) कोड लिखते हैं।
१. वास्तविक जीवन की उपमा
सीटीसीआई समस्या १०.४ को वास्तविक जीवन में वस्तुओं को कुशलतापूर्वक व्यवस्थित करने की तरह सोचें। सही डेटा संरचना का चयन अनावश्यक पुनरावृत्तियों को समाप्त करता है।
२. स्पष्ट समस्या कथन
समस्या १०.४: सीटीसीआई समस्या १०.४: साइज मेथड के बिना डेटा स्ट्रक्चर लिस्ती में एक्सपोनेंशियल बाउंडिंग तकनीक से तत्व खोजें।
३. इष्टतम दृष्टिकोण और कार्यान्वयन
public class SortedSearchNoSize {
static class Listy {
private final int[] array;
public Listy(int[] arr) { this.array = arr; }
public int elementAt(int i) {
return (i >= 0 && i < array.length) ? array[i] : -1;
}
}
public static int search(Listy list, int value) {
int index = 1;
while (list.elementAt(index) != -1 && list.elementAt(index) < value) {
index *= 2;
}
return binarySearch(list, value, index / 2, index);
}
private static int binarySearch(Listy list, int value, int low, int high) {
while (low <= high) {
int mid = low + (high - low) / 2;
int middle = list.elementAt(mid);
if (middle > value || middle == -1) high = mid - 1;
else if (middle < value) low = mid + 1;
else return mid;
}
return -1;
}
}
४. समय और स्थान जटिलता (टाइम एंड स्पेस कॉम्प्लेक्सिटी)
| मीट्रिक | जटिलता | विवरण |
|---|---|---|
| समय जटिलता | ओ(एन) / ओ(लॉग एन) | डेटा के माध्यम से इष्टतम पास |
| स्थान जटिलता | ओ(१) / ओ(एन) | मेमोरी सीमाएं बनी रहीं |
५. सीमांत मामले (एज केसेस) और सारांश
कोडिंग इंटरव्यू में हमेशा सीमांत स्थितियों, शून्य (null) इनपुट और एरे आकार की सीमाओं की जांच करें।
