टीएल;डीआर
- समस्या: सीटीसीआई समस्या १६.१९ का तकनीकी विवरण।
- दृष्टिकोण: सीटीसीआई problem १६.१९: compute sizes of all connected water ponds in a land matrix using ८-directional डीएफएस traversal.
- जटिलता: इष्टतम समय और मेमोरी संतुलन।
यह लेख सीटीसीआई समस्या १६.१९ का एक स्पष्ट विवरण प्रदान करता है।
१. संदर्भ और समस्या कथन
सीटीसीआई problem १६.१९: compute sizes of all connected water ponds in a land matrix using ८-directional डीएफएस traversal.
२. कोड और कार्यान्वयन
public static List<Integer> computePondSizes(int[][] land) {
List<Integer> sizes = new ArrayList<>();
for (int r = 0; r < land.length; r++) {
for (int c = 0; c < land[0].length; c++) {
if (land[r][c] == 0) {
sizes.add(computeSize(land, r, c));
}
}
}
return sizes;
}
private static int computeSize(int[][] land, int r, int c) {
if (r < 0 || c < 0 || r >= land.length || c >= land[0].length || land[r][c] != 0) return 0;
land[r][c] = -1; // Mark visited
int size = 1;
for (int dr = -1; dr <= 1; dr++) {
for (int dc = -1; dc <= 1; dc++) size += computeSize(land, r + dr, c + dc);
}
return size;
}
३. सारांश और एज केसेस
हमेशा सीमांत स्थितियों और इनपुट की जांच करें।
