टीएल;डीआर

  • समस्या: सीटीसीआई समस्या १६.१९ का तकनीकी विवरण।
  • दृष्टिकोण: सीटीसीआई 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;
}

३. सारांश और एज केसेस

हमेशा सीमांत स्थितियों और इनपुट की जांच करें।