3 ms·
Whitespace helps too! And I think using `sorted(key=)` is more Pythonic than a generator expression ;) from operator import itemgetter def maxWidthOfVer
by michaelhoffman 6y ago
Whitespace helps too! And I think using `sorted(key=)` is more Pythonic than a generator expression ;)
from operator import itemgetter
def maxWidthOfVerticalArea(self, points: List[List[int]]) -> int:
xs = sorted(points, key=itemgetter(0))
x_pairs = zip(xs, xs[1:])
widths = (right-left for left, right in x_pairs)
return max(widths)
NumPy also has stuff to solve this sort of thing built-in:
from numpy import diff
def maxWidthOfVerticalArea(self, points: List[List[int]]) -> int:
xs = sorted(points, key=itemgetter(0))
widths = diff(xs)
return widths.max()
- ianhorn 6y agoFor the last bunch of years, wherever my instinct says to add white space, I instead put a comment. If you want something to be a visually separate entity, it’s the perfect place to put a couple words about that entity, and it still gets the visual separation in an editor with any syntax highlighting at all.
- roelschroeven 6y ago> And I think using `sorted(key=)` is more Pythonic than a generator expression ;) But it doesn't do the same thing. The original code extracted the xs from the coordinate pairs, sorted; your code sorts the coordinate pairs by their x values, but doesn't extract the xs from them.
- michaelhoffman 6y agoOops! Good point! Unfortunately too late for me to edit.