zoukankan      html  css  js  c++  java
  • LeetCode 1046. 最后一块石头的重量 (贪心)

    有一堆石头,每块石头的重量都是正整数。

    每一回合,从中选出两块最重的石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:

    如果 x == y,那么两块石头都会被完全粉碎;
    如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。
    最后,最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下,就返回 0。

    提示:

    1 <= stones.length <= 30
    1 <= stones[i] <= 1000

    贪心
     1 int lastStoneWeight(int* stones, int stonesSize){
     2     if(stonesSize==1) return stones[0];
     3     while(1){
     4         int maxvalue=stones[stonesSize-1];
     5         int maxi=stonesSize-1;
     6         for(int i=stonesSize-1;i>=0;i--){
     7             if(stones[i]>maxvalue){
     8                 maxvalue=stones[i];
     9                 maxi=i;
    10             }
    11         }
    12         int t=stones[stonesSize-1];
    13         stones[stonesSize-1]=stones[maxi];
    14         stones[maxi]=t;
    15         maxvalue=stones[0];
    16         maxi=0;
    17         for(int i=0;i<stonesSize-1;i++){
    18             if(stones[i]>maxvalue){
    19                 maxvalue=stones[i];
    20                 maxi=i;
    21             }
    22         }
    23         t=stones[stonesSize-2];
    24         stones[stonesSize-2]=stones[maxi];
    25         stones[maxi]=t;
    26         if(stones[stonesSize-2]==stones[stonesSize-1]){
    27             stones[stonesSize-2]=0;
    28         }else if(stones[stonesSize-2]>stones[stonesSize-1]){
    29             stones[stonesSize-2]-=stones[stonesSize-1];
    30         }else{
    31             stones[stonesSize-2]=stones[stonesSize-1]-stones[stonesSize-2];
    32         }
    33         stonesSize--;
    34         if(stonesSize==1) break;
    35     }
    36     return stones[0];
    37 }
  • 相关阅读:
    js实现点击上下按钮,图片向上向下循环滚动切换
    jquery实现点击进入新的页面。(jquery实现超链接)
    jquery实现鼠标移入移除背景图片切换
    C:WindowsSystem32driversetchosts文件显示
    网页添加qq咨询
    本地虚拟站点创建
    ftp获取mysql数据库方法
    数论基础
    最小费用最大流
    AC自动机 hdu2222
  • 原文地址:https://www.cnblogs.com/shixinzei/p/11044035.html
Copyright © 2011-2022 走看看