टीएल;डीआर
- समस्या: उत्पादन-स्तरीय दक्षता के साथ सीटीसीआई समस्या १०.१ में महारत हासिल करना।
- दृष्टिकोण: सीटीसीआई समस्या १०.१: दो सॉर्ट किए गए एरे ए और बी को पीछे से काम करते हुए बिना किसी अतिरिक्त स्पेस के मर्ज करें।
- जटिलता: इष्टतम समय और मेमोरी संतुलन।
यह लेख सीटीसीआई समस्या १०.१ का एक स्पष्ट और शुरुआती-अनुकूल विवरण प्रदान करता है। हम समस्या के कथन की जांच करते हैं, इष्टतम समाधान की तुलना करते हैं और जावा (जावा) कोड लिखते हैं।
१. वास्तविक जीवन की उपमा
सीटीसीआई समस्या १०.१ को वास्तविक जीवन में वस्तुओं को कुशलतापूर्वक व्यवस्थित करने की तरह सोचें। सही डेटा संरचना का चयन अनावश्यक पुनरावृत्तियों को समाप्त करता है।
२. स्पष्ट समस्या कथन
समस्या १०.१: सीटीसीआई समस्या १०.१: दो सॉर्ट किए गए एरे ए और बी को पीछे से काम करते हुए बिना किसी अतिरिक्त स्पेस के मर्ज करें।
३. इष्टतम दृष्टिकोण और कार्यान्वयन
public class SortedMerge {
public static void merge(int[] a, int[] b, int lastA, int lastB) {
int indexA = lastA - 1;
int indexB = lastB - 1;
int indexMerged = lastA + lastB - 1;
while (indexB >= 0) {
if (indexA >= 0 && a[indexA] > b[indexB]) {
a[indexMerged] = a[indexA];
indexA--;
} else {
a[indexMerged] = b[indexB];
indexB--;
}
indexMerged--;
}
}
}
४. समय और स्थान जटिलता (टाइम एंड स्पेस कॉम्प्लेक्सिटी)
| मीट्रिक | जटिलता | विवरण |
|---|---|---|
| समय जटिलता | ओ(एन) / ओ(लॉग एन) | डेटा के माध्यम से इष्टतम पास |
| स्थान जटिलता | ओ(१) / ओ(एन) | मेमोरी सीमाएं बनी रहीं |
५. सीमांत मामले (एज केसेस) और सारांश
कोडिंग इंटरव्यू में हमेशा सीमांत स्थितियों, शून्य (null) इनपुट और एरे आकार की सीमाओं की जांच करें।
