文巾解题 1046. 最后一块石头的重量
生活随笔
收集整理的這篇文章主要介紹了
文巾解题 1046. 最后一块石头的重量
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1 題目描述
2 解題思路
用heapq(最小堆)實現(xiàn)。由于heapq是最小堆,但每次我們進行操作的是最大的兩個石頭,所以一開始的list我們要對所有的重量取負號。每次取出“最輕”的兩個石頭,如果重量不一樣,相減再放入最小堆中。
最小堆部分可以參考python庫整理:heapq 最小堆_劉文巾的博客-CSDN博客
import heapq class Solution:def lastStoneWeight(self, stones: List[int]) -> int:stones=[-stone for stone in stones]heapq.heapify(stones)while(len(stones)>1):x=heapq.heappop(stones)y=heapq.heappop(stones)if(x==y):continueelse:heapq.heappush(stones,x-y)if(len(stones)==0):return 0else:return -heapq.heappop(stones)?
總結(jié)
以上是生活随笔為你收集整理的文巾解题 1046. 最后一块石头的重量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pytorch 笔记 :实现Dropou
- 下一篇: 文巾解题 5. 最长回文子串