1046. 最后一块石头的重量

1046. 最后一块石头的重量

  • 用STL的堆暴力的解法
class Solution {
public:
    int lastStoneWeight(vector<int>& stones) {

        int len=stones.size();
        if( len<=0 )
        {
            return 0;
        }

        if( 1==len )
        {
            return stones[0];
        }

        while( len>=2 )
        {
            make_heap(stones.begin(),stones.end());
            sort_heap(stones.begin(),stones.end());

            int a=stones[len-1];
            int b=stones[len-2];
            stones.pop_back();
            stones.pop_back();

            if( a!=b )
            {
                stones.push_back( a-b );
                --len;
            }
            else
            {
                len-=2;
            }
        }

        if( 1==len )
        {
            return stones[0];
        }
        else
        {
            return 0;
        }

    }
};
全部评论

相关推荐

offer多多的六边形战士很无语:看了你的博客,感觉挺不错的,可以把你的访问量和粉丝数在简历里提一下,闪光点(仅个人意见)
点赞 评论 收藏
分享
头像
10-22 19:18
上海大学 后端
jopajhhdjwnqk:水印都叠杀人书了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务