Backtrack solution beats 70%
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```python3 []\nclass Solution:\n    def maximumRows(self, mat: List[List[int]], numSelect: int) -> int:\n        \n        # using Backtracking and recursion to solve this problem\n        m = len(mat)\n        n = len(mat[0])\n\n        vis = [False] * n\n        ans = 0\n\n        def backtrack(index, cols, cur_cols):\n            nonlocal ans\n            if cols == cur_cols:\n                count = 0\n                for i in range(m):\n                    flag = True\n                    for j in range(n):\n                        if mat[i][j] == 1 and not vis[j]:\n                            flag = False\n                            break\n                \n                    if flag:\n                        count += 1\n                ans = max(ans, count)\n                return \n\n            if index >= n:\n                return\n\n            vis[index] = True\n            backtrack(index + 1, cols, cur_cols + 1)\n            vis[index] = False\n            \n            backtrack(index + 1, cols, cur_cols)\n        \n        backtrack(0, numSelect, 0)\n        return ans\n            \n\n\n\n```
['Python3']