• + 0 comments
    def xorMatrix(m, first_row):
        #
        # Write your code here.
        #
        n = len(first_row)
        if m <= 1:
            return first_row[:]
    
        k = m - 1  
        row = first_row[:]
    
        
        b = 0
        while (1 << b) <= k:
            if (k >> b) & 1:
                s = (1 << b) % n            
                shifted = [row[(i + s) % n] for i in range(n)]
                row = [row[i] ^ shifted[i] for i in range(n)]
            b += 1
    
        return row