首页 > 其他分享 >竞赛-01. 化学反应

竞赛-01. 化学反应

时间:2022-10-01 15:12:25浏览次数:35  
标签:10 竞赛 01 选出 material 化学反应 反应物 数组 质量

10月2日上午参加了竞赛,今天先练习下

题目-01. 化学反应

实验室内有一些化学反应物,其中的任意两种反应物之间都能发生反应,且质量的消耗量为 1:1

已知初始 material[i] 表示第 i 种反应物的质量,每次进行实验时,会选出当前 质量最大 的两种反应物进行反应,假设反应物的重量分别为 i 和 j ,且 i <= j。反应的结果如下:

  • 如果 i == j,那么两种化学反应物都将被消耗完;
  • 如果 i < j,那么质量为 i 的反应物将会完全消耗,而质量为 j 的反应物质量变为 j - i 。

最后,最多只会剩下一种反应物,返回此反应物的质量。如果没有反应物剩下,返回 0

 

示例 1:

输入:[10,2,6,1]
输出:1
解释:
先选出 10 和 6,得到 4,数组转换为 [4,2,1],
再选出 4 和 2,得到 2,数组转换为 [2,1],
最后选出 2 和 1,得到 1,最终数组转换为 [1],这就是最后剩下反应物的质量。

 

示例 2:

输入:[6,4,10]
输出:0
解释:
先选出 10 和 6,得到 4,所以数组转换为 [4,4],
再选出 4 和 4,得到 0,所以数组转换为 []
因为没有反应物剩下,返回 0。

/**
 * @param {number[]} material
 * @return {number}
 */
var lastMaterial = function(material) {
     
    while(material.length>1){
        material.sort(function(p1,p2){return p2-p1})
        const num=material[0]-material[1]
        if(num>0){
           material.splice(0,2,num) 
        }else{
           material.splice(0,2)
        }
        
    }
    return material[0]||0
};

 

标签:10,竞赛,01,选出,material,化学反应,反应物,数组,质量
From: https://www.cnblogs.com/caoke/p/16747207.html

相关文章

  • 初学C语言笔记221001
    int(*p)[5]  此时数组指针p约等于一个含有5个int型元素数组的数组名*p就是数组int[5]的第一个元素的地址p+1就是跳过int[5]数组的下一个同int[5]类型的数组名*(p+1)再解......
  • 2022-10-01 12:06:22 星期六
    2022-10-0112:06:22星期六国庆不放假,令人感慨。成人礼是什么人间疾苦,就只记住了一个场景:开高考倒计时启动仪式的时候整了个东西把塑料彩纸片整的满屋子都是然后那个......
  • 程序员修炼之道:从小工到专家-读后感九月01
    首先在家要打好扎实的基础,不要只追求时髦的技术,打好基础再去学那些技术或者参加培训,对自身的发展会更好;多看一些书籍,如算法导论,编程珠玑,代码大全等,了解作为   一个软件......
  • JVM 运行时内存 -01
    JVM运行时内存Survivor([səˈvaɪvə®]----Eden[ˈiːdn]-----MinorGC[ˈmaɪnə®]少数的;轻微的;较小的;次要的MajorGC[ˈmeɪdʒə®]GC专业;少校;主修课程;专......
  • 【动态规划】背包问题----01背包
    题目描述acwing01背包要点1.每件物品只能使用一次2.总体积不超过V3.总价值最大分析按照集合划分最后一个不选i代表要从1到i-1中选择物品,并且其体积不超......
  • C++_Windows Socket 学习记录_01
    主要实现服务器-服务器传输消息Server.cpp#include<stdio.h>#include<stdlib.h>#include<WinSock2.h>#include<iostream>#pragmacomment(lib,"ws2_32.lib")us......
  • 9012 年了,还在抄,我应该高兴,还是高兴,还是高兴
    废话不说,某公众号的文字(注和人家没有关系,人家是转载)平时经常会阅读某些“大牌”的公众号,来增加自己的知识,早上就看到一篇文字,“一文告诉你全世界顶级的开发者都在用什么数据......
  • XD01创建扩展客户前台以及BAPI测试步骤
    前两天有人在群里问SD_CUSTOMER_MAINTAIN_ALL怎么创建客户。我在demo机上测试XD01创建客户,然后再测试使用BAPI。Demo机是ECC,S4已结不用XD01了,统一使用BP创建客户和供应商等......
  • P5934 [清华集训2012]最小生成树
    简要题意给你一个\(N\)个点,\(M\)条边的无向连通带权图。给定一条边\((u,v,L)\),请问需要在原图中删除多少条边,使得将\((u,v,L)\)插入图后,它既可能在最小生成树上,又......
  • day01-数据库的安装和使用
    Java数据库的安装和使用1.数据库的作用一个问题:淘宝网、京东、微信抖音,都有各自的功能,那么我们退出系统的时候,为什么信息还在?解决之道-文件,数据库为了解决上诉问题,使用......