Python3 easy Solution with Explanation || quibler7
Code\n\nclass Solution:\n    def lastStoneWeight(self, stones: List[int]) -> int:\n        #first sort the list\n        stones.sort()\n\n        while stones:\
# Code\n```\nclass Solution:\n    def lastStoneWeight(self, stones: List[int]) -> int:\n        #first sort the list\n        stones.sort()\n\n        while stones:\n            #most heaviest stone\n            s1 = stones.pop()\n\n            #if list is empty after removing one stone i.e s1 then \n            #return s1\n            if not stones: return s1\n\n            #second heaviest stone s2 where s2 <= s1\n            s2 = stones.pop()\n\n            #if s1 > s2 then element to be inserted is s1-s2 as given in the \n            #problem statement\n            if s1 > s2:\n\n                #using Insort_left Function Of Bisect Module\n                #we will insert s1-s2 at correct position \n                insort_left(stones, s1-s2)\n\n            #else s1 == s2 and as we are continously popping elements \n            #both the stones are destroyed if they are same\n\n        #if no more stones remaining return 0 \n        return 0 \n\n```
['Python3']