Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में 3D आकृति का पृष्ठीय क्षेत्रफल खोजें


मान लीजिए हमारे पास एक N*M मैट्रिक्स A है, जो एक 3D आकृति का प्रतिनिधित्व करता है। बिंदु (i, j) पर इमारत की ऊंचाई A[i][j] है। हमें आकृति का पृष्ठीय क्षेत्रफल ढूंढना है।

इसलिए, यदि इनपुट N = 3, M = 3, A = [[1, 4, 5], [3, 3, 4], [1, 3, 5]] है, तो आउटपुट 72 होगा।

समाधान दृष्टिकोण

इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:

  • res := 0
  • i को 0 से N-1 तक के लिए:
    • j को 0 से M-1 तक के लिए:
      • up_side := 0
      • left_side := 0
      • यदि i > 0, तो up_side := A[i-1][j]
      • यदि j > 0, तो left_side := A[i][j-1]
      • res := res + |A[i][j] - up_side| + |A[i][j] - left_side|
      • यदि i == N - 1, तो res := res + A[i][j]
      • यदि j == M - 1, तो res := res + A[i][j]
  • res := res + N * M * 2
  • res लौटाएं।

उदाहरण

बेहतर समझ के लिए निम्न कार्यान्वयन देखें:

M = 3
N = 3

def get_surface_area(array):
    res = 0
    for i in range(N):
        for j in range(M):
            up_side = 0
            left_side = 0
            if i > 0:
                up_side = array[i - 1][j]
            if j > 0:
                left_side = array[i][j - 1]
            res += abs(array[i][j] - up_side) + abs(array[i][j] - left_side)
            if i == N - 1:
                res += array[i][j]
            if j == M - 1:
                res += array[i][j]
    res += N * M * 2
    return res

array = [[1, 4, 5], [3, 3, 4], [1, 3, 5]]
print(get_surface_area(array))

इनपुट

[[1, 4, 5], [3, 3, 4], [1, 3, 5]]

आउटपुट

72
  1. Python प्रोग्राम में ऐरे का योग खोजना Python प्रोग्राम में ऐरे का योग खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक ऐरे दिया गया है, हमें ऐरे का योग निकालने की आवश्यकता है। पूरे ऐरे को पार करने और प्रत्येक इंडेक्स पर तत्व को जोड़कर योग प्राप्त करने का ब्रूट-फोर्स दृष्टिकोण नीचे चर्चा किया गया है। उदाहरण # sum फ़ंक्शन def

  1. पायथन प्रोग्राम: मैट्रिक्स का ट्रांसपोज़ ढूंढें पायथन प्रोग्राम: मैट्रिक्स का ट्रांसपोज़ ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक मैट्रिक्स दिए जाने पर, हमें ट्रांसपोज़ को उसी मैट्रिक्स में स्टोर करना होगा और इसे प्रदर्शित करना होगा। मैट्रिक्स का ट्रांसपोज़ पंक्तियों को कॉलम में और कॉलम को पंक्तियों में बदलकर

  1. पायथन प्रोग्राम: ऐरे का योग ढूंढें पायथन प्रोग्राम: ऐरे का योग ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक ऐरे दिए जाने पर, हमें दिए गए ऐरे का योग निकालने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का पालन कर सकते हैं यानी एक लिस्ट को ट्रैवर्स करना और प्रत्येक एलिमें