No backtracking ❌ | Do bit manipulation✅
\n\t\tclass Solution:\n\t\t\tdef maximumRows(self, matrix: List[List[int]], numSelect: int) -> int:\n\t\t\t\tn = len(matrix)\n\t\t\t\ta = [int(\'\'.join([str(j)
\n\t\tclass Solution:\n\t\t\tdef maximumRows(self, matrix: List[List[int]], numSelect: int) -> int:\n\t\t\t\tn = len(matrix)\n\t\t\t\ta = [int(\'\'.join([str(j) for j in matrix[i]]),2) for i in range(n)]\n\t\t\t\tres = 0\n\t\t\t\tfor i in range(n):\n\t\t\t\t\tans = a[i] \n\t\t\t\t\tcur = 0\n\t\t\t\t\tfor j in range(n):\n\t\t\t\t\t\tif bin(ans|a[j]).count(\'1\') <= numSelect:\n\t\t\t\t\t\t\tans|=a[j]\n\t\t\t\t\t\t\tcur+=1                     \n\t\t\t\t\tres = max(cur,res)\n\t\t\t\treturn res
['Python']