🌟Python Explained Clean Fast Smart Solution O(1)🌟
Please upvote if you find the explanation helful! :)\n\n\nclass Solution:\n    def numMovesStones(self, a: int, b: int, c: int) -> List[int]:\n        # Calcula
***Please upvote if you find the explanation helful! :)***\n\n```\nclass Solution:\n    def numMovesStones(self, a: int, b: int, c: int) -> List[int]:\n        # Calculate distance bgetween stones at boundries\n        # substrucr two because the space in beween two boundries is the answer\n        max_moves   = max(a,b,c) - min(a,b,c) - 2\n        \n        # If all consecutive\n        if 0 == max_moves:\n            return [0, 0]\n        \n        # Default min moves is 2; just move them to be neighbors of the middle\n        min_moves   = 2\n        \n        min_distance= min(abs(a-b),abs(b-c),abs(a-c))\n        # If minimum distance is either 1 or 2\n        # can easily move the other stone in one move;\n        # If min distance is 1; move the farest stone to be neighbor for the two of them\n        # e.g. 1 2 5 -> move 5 to 3 -> 1 2 3\n        # If min distance is 2; move the farest stone to be between of the two of them\n        # e.g. 1 3 5 -> move 5 to 2 -> 1 2 3\n        if min_distance in {1, 2}:\n            min_moves = 1\n            \n        return [min_moves, max_moves]\t\t\n```
['Python']