当前位置:网站首页>力扣——1046. 最后一块石头的重量
力扣——1046. 最后一块石头的重量
2022-07-19 14:22:00 【桂?】
有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下,就返回 0。
输入:[2,7,4,1,8,1]
输出:1
解释:
先选出 7 和 8,得到 1,所以数组转换为 [2,4,1,1,1],
再选出 2 和 4,得到 2,所以数组转换为 [2,1,1,1],
接着是 2 和 1,得到 1,所以数组转换为 [1,1,1],
最后选出 1 和 1,得到 0,最终数组转换为 [1],这就是最后剩下那块石头的重量。
1 <= stones.length <= 30
1 <= stones[i] <= 1000
public static int lastStoneWeight(int[] stones) {
int a=stones.length;
if(a==1)return 1;//如果只有一颗石头就直接返回结果
for (int i = 0; i < a; i++) {
Arrays.sort(stones);//排序
if(stones[a-1]>=0&&stones[a-2]==0){
//如果次大的石头为零则说明就剩最后一颗石头,因此返回结果
return stones[a-1];
}else if(stones[a-1]==stones[a-2]){
//如果石头一样大就全部消失
stones[a-1]=0;
stones[a-2]=0;
}else if(stones[a-1]>stones[a-2]) {
//取最大和次大的石头
stones[a-1]=stones[a-1]-stones[a-2];//大的减小的
stones[a-2]=0;//小的消失用零表示
}
}
return 1;
}
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/last-stone-weight
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
边栏推荐
- 飞凌OK1028A核心板适配RTL8192CU WIFI模块
- 读写模型整理笔记
- 一文了解 Nebula Graph 上的 Spark 项目
- Database expansion can also be so smooth, MySQL 100 billion level data production environment expansion practice
- 乳酸脱氢酶(LDH)活性检测试剂盒 丨Abbkine详细说明书
- 在测试VPN时候的惊天大坑,命令行查到的ip与百度搜索的ip不一致
- In the first half of the year, Guangdong's exports increased by 7.3%, and high-tech products accelerated "going to sea"
- 小程序毕设作品之微信小程序点餐系统毕业设计(8)毕业设计论文模板
- How to set the home page in Microsoft edge browser
- ProSci 15-PGDH重组蛋白说明书
猜你喜欢
解决错误:npm install emojis-list失败
【机器学习】终于把机器学习建模的重要步骤讲清楚了
SVM的核函数详解
Programmer's health quench prevention guide 6:[Science] exercise
响应式织梦模板装修装饰设计类网站
[performance optimization] MySQL performance optimization storage engine tuning
Zhongchuang salon | digital collection "broken circle" attack
深入揭秘 epoll 是如何实现 IO 多路复用的
LAG3抗体:ProSci特色免疫检查点研究方案
51单片机控制数码管显示
随机推荐
VScode安装Eide,用于stm32开发
Merge sequencing and optimization
小程序毕设作品之微信运动场地预约小程序毕业设计(2)小程序功能
C. Doremy‘s IQ(二分/贪心)
Completable future asynchronous processing
牛客多校1 C Grab the Seat!
算法---翻转数位(Kotlin)
软考 系统架构设计师 简明教程 | 软件生命周期
医院怎么实现高效低成本运维?有什么软件可以满足吗?
解决错误:npm install emojis-list失败
小程序毕设作品之微信预约订座小程序毕业设计(1)开发概要
How to create a 3D world? Explore with pictures
51单片机按键控制LED灯状态
小程序毕设作品之微信预约订座小程序毕业设计(5)任务书
小程序毕设作品之微信小程序点餐系统毕业设计(4)开题报告
[FAQ] access the HMS core push service, and the server sends messages. Cause analysis and solutions of common error codes
XML and JSON
ProSci人细胞系 I 印迹丨人类免疫研究
BGP边界网关协议基础知识点
【一起学Rust】Rust包管理工具Cargo初步了解