Python straightforward  900ms
Got AC by checking occurrence of '0' of the string. \nGeneral idea:\n1. check whether both row and col of location(i,j) can achieve a target order by finding th
Got AC by checking occurrence of '0' of the string. \nGeneral idea:\n1. check whether both row and col of location(i,j) can achieve a target order by finding the existence of '0'. If '0', false. Else increase the looking scope by one and recheck.\n2. checking whether we can satisfy the requirement based on the current maximum available order directly(which is k+1 to N where k is the already available maximum order) instead of checking from 1 to N.  \n\nKey steps:\n1. get the strings for each row and get the string for each column\n2. for row i and col j, check whether the occurrence of '1'  from both row and column can achieve order X. X is the current maximum order +1. \n      1) If it works,    a) updated the available maximum order \n                               b) keep on checking a bigger X to see whether success and do the right thing based on the result: increase the available maximum order or quit when fail\n     2) if it doesn't work, check the next one.\n    \n```\nclass Solution(object):\n    def orderOfLargestPlusSign(self, N, mines):\n        if len(mines)==N**2: return 0\n        grid = [['1']*N for _ in range(N)]\n        for i,j in mines: grid[i][j]='0'\n        grid_row = [''.join(row) for row in grid]\n        grid_col = [''.join(col) for col in map(list, zip(*grid))]\n        res = 1\n        for i in xrange(N):\n            for j in xrange(N):\n                if grid[i][j]=='1':\n                    while True:\n                        if (j-res>=0 and j+res<N and i-res>=0 and i+res<N and\n                           '0' not in grid_row[i][j-res:j+res+1] and\n                           '0' not in grid_col[j][i-res:i+res+1]):\n                            res+=1                                     \n                        else:  \n                            break\n        return res\n```
[]