title: Get Maximum Value across rows and columns of a python Matrix
body: <p>Consider the question:</p>
  
  <pre><code>The grid is:
  [ [3, 0, 8, 4], 
    [2, 4, 5, 7],
    [9, 2, 6, 3],
    [0, 3, 1, 0] ]
  
  The max viewed from top (i.e. max across columns) is: [9, 4, 8, 7]
  The max viewed from left (i.e. max across rows) is: [8, 7, 9, 3]
  </code></pre>
  
  <p>I know how to define a grid in Python:</p>
  
  <pre><code>maximums = [[0 for x in range(len(grid[0]))] for x in range(len(grid))]
  </code></pre>
  
  <p>Getting maximum across rows looks easy:</p>
  
  <pre><code>max_top = [max(x) for x in grid]
  </code></pre>
  
  <p>But how to get maximum across columns?</p>
  
  <p>Further, I need to find a way to do so in linear space O(M+N) where MxN is the size of the Matrix.</p>