• + 0 comments

    Here is my Python Code:

    def gridSearch(G, P):
        # Write your code here
        
        rows_number, column_number = len(G), len(G[0])
        patterns_number, first_pattern_len = len(P), len(P[0])
        
        if patterns_number > rows_number or first_pattern_len > column_number:
            return "NO"
        
        for row_i in range(rows_number):
            
            rows_left = rows_number - row_i
            
            if rows_left < patterns_number:
                return "NO"
                        
            for col_j in range(column_number - first_pattern_len + 1) :
               
                if G[row_i][col_j:col_j + first_pattern_len] == P[0]:
                    
                    matches = [
                        G[row_i + i][col_j:col_j + first_pattern_len] == P[i]
                        for i in range(patterns_number)
                    ]
                    
                    if all(matches):
                        return "YES"
        return "NO"