Intuitive Greedy solution with Python3
Intuition\nHere we have:\n- seats and students lists\n- our goal is to move students to seats optimally\n\nThere\'re some students, who we don\'t need to move, 
# Intuition\nHere we have:\n- `seats` and `students` lists\n- our goal is to move `students` to `seats` **optimally**\n\nThere\'re some `students`, who we don\'t need to move, as they\'re sitting in the right place.\n\nTo make an **optimal decision** we should map `seats` to `students` and minimize a distance between `seats[i]` and `students[i]`.\n\nThis is achievable with **sorting in non-decreasing order** for both collections and finding **absolute difference**. \n\n# Approach\n1. sort both collections\n2. find sum of distances, for a particular student we have `abs(seats[i] - students[i])`\n\n# Complexity\n- Time complexity: **O(N log N)** for sorting\n\n- Space complexity: **O(N)**, since we apply **list comprehension**.\n\n# Code\n```\nclass Solution:\n    def minMovesToSeat(self, seats: List[int], students: List[int]) -> int:\n        seats.sort()\n        students.sort()\n\n        return sum([abs(seats[i] - students[i]) for i in range(len(seats))])\n```
['Array', 'Greedy', 'Python3']