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

Python में ग्रिड/मैट्रिक्स में शब्द मौजूद है या नहीं जांचें


मान लीजिए, हमारे पास शब्दों का एक ग्रिड या मैट्रिक्स है। हमें जांचना है कि दिया गया शब्द ग्रिड में मौजूद है या नहीं। शब्द चार तरीकों से पाया जा सकता है: क्षैतिज रूप से बाएं और दाएं और लंबवत रूप से ऊपर और नीचे। यदि हम शब्द पा सकते हैं तो हम True लौटाते हैं, अन्यथा False।

तो, यदि इनपुट इस तरह है:

pghsf
ykdgh
tkghi
hnsjs
ojfgh
nrtyu

input_str = "python", तो आउटपुट True होगा।

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

  • find_grid() फ़ंक्शन परिभाषित करें। यह मैट्रिक्स, input_str, row_pos, col_pos, row_count, col_count, degree लेगा
    • यदि degree input_str के आकार के समान है, तो
      • True लौटाएं
    • यदि row_pos < 0 या col_pos < 0 या row_pos >= row_count या col_pos >= col_count, तो
      • False लौटाएं
    • यदि matrix[row_pos, col_pos] input_str[degree] के समान है, तो
      • temp := matrix[row_pos, col_pos]
      • matrix[row_pos, col_pos] के तत्वों को '#' से बदलें
      • result := find_grid(matrix, input_str, row_pos - 1, col_pos, row_count, col_count, degree + 1) बिटवाइज़ OR find_grid(matrix, input_str, row_pos + 1, col_pos, row_count, col_count, degree + 1) बिटवाइज़ OR find_grid(matrix, input_str, row_pos, col_pos - 1, row_count, col_count, degree + 1) बिटवाइज़ OR find_grid(matrix, input_str, row_pos, col_pos + 1, row_count, col_count, degree + 1))
    • matrix[row_pos, col_pos] के तत्वों को temp से बदलें
    • result लौटाएं
  • अन्यथा,
    • False लौटाएं
  • मुख्य फ़ंक्शन/विधि से, निम्नलिखित करें:
  • यदि input_str की लंबाई > row_count * col_count, तो
    • False लौटाएं
  • row के लिए रेंज 0 से row_count तक, करें
    • col के लिए रेंज 0 से col_count तक, करें
      • यदि matrix[row, col] input_str[0] के समान है, तो
        • यदि (find_grid(matrix, input_str, row, col, row_count, col_count, 0) True है), तो
          • True लौटाएं
  • False लौटाएं
  • उदाहरण

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

    def find_grid(matrix, input_str, row_pos, col_pos, row_count, col_count, degree) :     if (degree == len(input_str)) :         return True     if (row_pos < 0 or col_pos < 0 or row_pos >= row_count or col_pos >= col_count) :         return False     if (matrix[row_pos][col_pos] == input_str[degree]) :         temp = matrix[row_pos][col_pos]         matrix[row_pos].replace(matrix[row_pos][col_pos], "#")         result = (find_grid(matrix, input_str, row_pos - 1, col_pos, row_count, col_count, degree + 1) | find_grid(matrix, input_str, row_pos + 1, col_pos, row_count, col_count, degree + 1) | find_grid(matrix, input_str, row_pos, col_pos - 1, row_count, col_count, degree + 1) | find_grid(matrix, input_str, row_pos, col_pos + 1, row_count, col_count, degree + 1))         matrix[row_pos].replace(matrix[row_pos][col_pos], temp)         return result     else :         return False def solve(matrix, input_str, row_count, col_count) :     if (len(input_str) > row_count * col_count) :         return False     for row in range(row_count) :         for col in range(col_count) :             if (matrix[row][col] == input_str[0]) :                 if (find_grid(matrix, input_str, row, col, row_count, col_count, 0)) :                     return True     return False word_grid = ["pghsf", "ykdgh", "tkghi", "hnsjs", "ojfgh", "nrtyu"] print(solve(word_grid, "python", 6, 5))

    इनपुट

    ["pghsf", "ykdgh", "tkghi", "hnsjs", "ojfgh", "nrtyu"],"python"

    आउटपुट

    True

    1. पायथन में हीप मैक्स हीप बना रहा है या नहीं जांचने का प्रोग्राम पायथन में हीप मैक्स हीप बना रहा है या नहीं जांचने का प्रोग्राम

      मान लीजिए हमारे पास एक सूची है जो हीप ट्री का प्रतिनिधित्व करती है। जैसा कि हम जानते हैं हीप एक पूर्ण बाइनरी ट्री है। हमें जांचना है कि तत्व मैक्स हीप बना रहे हैं या नहीं। जैसा कि हम जानते हैं मैक्स हीप के लिए प्रत्येक तत्व अपने दोनों बच्चों से बड़ा होता है। इसलिए, यदि इनपुट है nums = [8, 6, 4, 2, 0

    1. पायथन में जांचें कि कोई संख्या डाइहेड्रल अभाज्य संख्या है या नहीं पायथन में जांचें कि कोई संख्या डाइहेड्रल अभाज्य संख्या है या नहीं

      मान लीजिए हमारे पास एक संख्या n है। हमें जांचना है कि n डाइहेड्रल अभाज्य है या नहीं। एक संख्या डाइहेड्रल अभाज्य कहलाती है जब वह संख्या स्वयं अभाज्य हो और 7-सेगमेंट डिस्प्ले पर सामान्य या उल्टा (upside-down) दिखाने पर वही संख्या या कोई अन्य अभाज्य संख्या प्रदर्शित हो। उदाहरण के लिए, यदि इनपुट n = 11

    1. Python में सुडोकू ग्रिड हल करने योग्य है या नहीं, इसकी पुष्टि करने का प्रोग्राम Python में सुडोकू ग्रिड हल करने योग्य है या नहीं, इसकी पुष्टि करने का प्रोग्राम

      मान लीजिए हमारे पास एक 9x9 सुडोकू ग्रिड है। हमें यह जांचना है कि वह वैध है या नहीं। केवल भरे हुए सेल को निम्नलिखित नियमों के अनुसार मान्य करने की आवश्यकता है: प्रत्येक पंक्ति में 1-9 के अंक बिना दोहराव के होने चाहिए। प्रत्येक कॉलम में 1-9 के अंक बिना दोहराव के होने चाहिए। ग्रिड के 9 (3x3) सब-बॉक्स