Leetcode 솔루션: 마지막 돌 무게
2763 단어 leetcodepythonprogramming
우리는 돌로 게임을 하고 있습니다. 매 턴마다 가장 무거운 두 개의 돌을 선택하여 함께 부수십시오. 가장 무거운 두 개의 돌이 x <= y인 가중치 x와 y를 갖는다고 가정합니다. 이 스매쉬의 결과는 다음과 같습니다.
x == y이면 두 돌이 모두 파괴되고
x != y이면 가중치 x의 스톤은 파괴되고 가중치 y의 스톤은 새로운 가중치 y - x를 갖습니다.
게임이 끝나면 기껏해야 돌이 하나만 남습니다.
마지막 남은 돌의 무게를 반환합니다. 남은 돌이 없으면 0을 반환합니다.
class Solution(object):
def lastStoneWeight(self, stones):
"""
:type stones: List[int]
:rtype: int
"""
stones = [-stone for stone in stones]
heapq.heapify(stones)
while len(stones) > 1:
first = heapq.heappop(stones)
second = heapq.heappop(stones)
if second > first:
heapq.heappush(stones, first-second)
return -stones[0] if len(stones) else 0
Reference
이 문제에 관하여(Leetcode 솔루션: 마지막 돌 무게), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/salahelhossiny/last-stone-weight-39m4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)