Qwerty01
0
Q:

Find duplicate rows in a 5x5 Matrix.

# A class representing a node:
class Trie:
    # Constructor
    def __init__(self):
 
        self.character = [None] * 2
 
        # set when node is a leaf node
        self.isLeaf = False
 
 
# Iterative function to insert list in Trie.
def insert(head, A):
 
    # start from root node
    curr = head
 
    for i in A:
        # create a node if path doesn't exists
        if curr.character[i] is None:
            curr.character[i] = Trie()
 
        # go to next node
        curr = curr.character[i]
 
    # if row is inserted before, return false
    if curr.isLeaf:
        return False
 
    # mark leaf node and return True
    curr.isLeaf = True
    return True
 
 
if __name__ == '__main__':
 
    mat = [
        [1, 0, 0, 1, 0],
        [0, 1, 1, 0, 0],
        [1, 0, 0, 1, 0],
        [0, 0, 1, 1, 0],
        [0, 1, 1, 0, 0]
    ]
 
    # insert all rows of into trie
    head = Trie()
    for i, e in enumerate(mat):
        if not insert(head, e):
            print(f"Duplicate row found: Row #{i+1}")
 
0

New to Communities?

Join the community